Property Description Record (PDR)

A Property Description Record (PDR) is a system record that defines a record for a standard attribute in an Endeca data domain.

About PDRs

The Oracle Endeca Server uses a PDR to store metadata about the standard attribute, and must have a PDR created in order to build a schema for your data records. In addition, to create a managed attribute, both one PDR and one DDR are required.

As records, PDRs themselves have required attributes, and can also have arbitrary, user-defined attributes.

For each standard attribute, the attributes in the associated PDR define the attribute's characteristics, including:
  • Name and type
  • Display name
  • Language
  • Configuration parameters. For example, whether an attribute is searchable.
  • Navigability settings. For example, whether to show record counts for available refinements, whether to enable multi-select, and how to sort refinements.

Creating and updating PDRs

When an Endeca data domain acquires a new record, it stores it and constructs a PDR for any attributes that it finds in the record. Updating a PDR immediately changes the navigation behavior of the Oracle Endeca Server. To create or change a PDR, you can use the Data Ingest Web Service, or Integrator ETL.

Required schema attributes of a PDR

PDRs have the attributes in the following table. (The word "required" means that if you do not specify them for the PDR, their default values are used). Only the key is the required attribute when creating a PDR. If you do not specify other attributes, their default values are used.
Schema attribute Type Description
mdex-property_Key string The key name of the standard attribute. This attribute is mandatory.

The key name must be an NCName. The NCName format is defined in the W3C document Namespaces in XML 1.0 (Second Edition), located at this URL: http://www.w3.org/TR/REC-xml-names/#NT-NCName Although hyphens are valid in an NCName, it is recommended to use key names without hyphens. The reason is that if a hyphenated standard attribute is used in an EQL statement, it must be enclosed in quotes.

You can modify the name of the standard attribute. No restrictions on these changes exist.

mdex-property_DisplayName string The name of the standard attribute in an easy-to-understand format. The display name can use a non-NCName format.

You can modify the display name of an attribute. No restrictions on these changes exist.

mdex-property_Type string
The data type of the standard attribute. The possible values are:
  • mdex:boolean
  • mdex:dateTime
  • mdex:duration
  • mdex:double
  • mdex:geocode
  • mdex:int
  • mdex:long
  • mdex:string
  • mdex:time

The default is mdex:string.

The data type cannot be modified.

mdex-property_Language string The language of the standard attribute (set as an RFC-3066 language code).

The language ID is either the special string unknown (the default if not changed) or (if changed) the RFC-3066 language code set by the Configuration Web Service's setPropertyDefaultLanguage operation.

This schema attribute can be modified, but changing its value has a performance cost.

mdex-property_IsSingleAssign boolean If set to true (the default), each record can have at most one value for an attribute assignment (i.e., the attribute is single assign).

If set to false, each record may have more than one value for an attribute assignment (i.e., the attribute is multi-assign).

The setting can be modified as follows:
  • A single-assign setting can be changed to a multi-assign setting only if the PDR is non-unique (i.e., mdex-property_IsUnique is set to false).
  • A multi-assign setting can be changed to a single-assign setting only if all assignments of this standard attribute are single assign. If at least one record has multi-assignments of this standard attribute, an attempted change will fail.
mdex-property_IsUnique boolean If set to true, no two records can have the same value for the attribute. Note that a setting of true requires that mdex-property_IsSingleAssign must also be set to true.

If set to false (the default), multiple records can have the same value for this attribute.

You can change the setting (from true to false or vice-versa) only if no assignments for this attribute have been made (i.e., no record can have an assignment for this attribute).

mdex-property_IsTextSearchable boolean If set to true, then the standard attribute is enabled for text search.

If set to false, the standard attribute does not support text search.

The default is false.

This schema attribute can be changed only for the standard attributes of type string.

Making this change on an attribute that has many assignments on records has a performance cost due to re-indexing.

mdex-property_TextSearchAllowsWildcards boolean If set to true, then wildcard search is enabled for this standard attribute.

If set to false, then wildcard search is not enabled.

If this is set to true, then mdex-property_IsTextSearchable must be set to true.

The default is false.

Changing the value for this attribute has a performance cost. A restriction for modifying it is that mdex-property_IsTextSearchable must also be set to true.

mdex-property_IsPropertyValueSearchable boolean If set to true, the standard attribute is enabled for value search. Note that only attributes of type mdex:string can be enabled for value search.

If set to false, the attribute is not value-searchable.

The default is true.

This schema attribute can be changed only for the standard attributes of type string. Modifying the value for this schema attribute has a performance cost.

This schema attribute does not apply for managed attributes, for which value search is always enabled and cannot be disabled.

system-navigation_Select string Configures the multi-select feature for a standard attribute. The values of this attribute supply defaults for query parameters, which you can override. The allowed values are:
  • single. Users can select only one refinement from this attribute.
  • multi-and. Users can select multiple refinements from the attribute. The returned records must have assignments from all of the selected refinements (from A AND B). Selecting this value only makes sense for those attributes that are multi-assign.
  • multi-or. Users can select multiple refinements from this attribute. The returned records must have assignments from at least one of the selected refinements (from A OR B).

The default is single.

No restrictions on modifying the values for this schema attribute exist.

system-navigation_Sorting string The order in which to display refinements in the navigation menu. The allowed values are:
  • lexical sorts refinements alphabetically or by number.
  • record-count sorts refinements in descending order, by the number of records available for each refinement.

The default is record-count.

No restrictions on modifying the values for this schema attribute exist.

system-navigation_ShowRecordCounts boolean Whether to show record counts for a refinement.

If set to true, the record counts are shown.

If set to false, the record counts are not shown.

The default is true.

No restrictions on modifying the values for this schema attribute exist.

User-defined schema attributes of a PDR

You can add assignments on other, user-defined attributes to PDRs to display various aspects of how your data records are organized. Note that the names of these attributes must not begin with mdex, or system.