Table of Contents

About

The Dimension Description Records (DDR) define managed attributes and thus, among other characteristics, enable the creation of hierarchical standard attribute values.

You cannot create a dimension without a corresponding property.

Property

EnableRefinements

You must configure a managed attribute for query refinement.

The mdex-dimension_EnableRefinements attribute must be set to true, so that refinements will be displayed. If the configuration attribute is set to false, refinements will not be displayed (i.e., the managed attribute will be hidden).

No configuration is needed for standard attributes.

isRecordSearchHierarchical

If you want to consider ancestor managed attribute values when matching a record search query, you can enable hierarchical record search.

By default, a record search that uses a managed attribute as the search key returns only those records that are assigned an attribute value whose text matches the search terms. As part of this behaviour, record search does not consider implicit ancestor attribute values.

For example, the Jersey attribute (with an ID of 12) is an ancestor of the Sleeveless attribute (ID of 13). A search against the Clothing attribute for the keyword sleeveless matches any records assigned the attribute value 13. But a search in Clothing for sleeveless jersey does not match these records, because record search does not normally consider implicit ancestor attribute value assignments.

In such cases, you may want record search to consider ancestor attribute values when matching a record search query. You can enable this sort of hierarchical record search by setting the mdex-dimension_IsRecordSearchHierarchical attribute to true.

IsDimensionSearchHierarchical

Enable hierarchy value search ?

Management

With the Configuration Web Service

<ns:configTransaction>

	<!-- list Dimension -->
	<ns:listDimensions/>
	<!-- export Dimension -->
	<ns:exportDimensions/>

	<ns:getDimensions>
		<!--Zero or more repetitions:-->
		<mdex-dimension_Key>?</mdex-dimension_Key>
	</ns:getDimensions>
	<!--Optional:-->
	<ns:putDimensions>
		<!--Zero or more repetitions:-->
		<ns1:record>
			<mdex-dimension_Key>?</mdex-dimension_Key>
			<mdex-dimension_EnableRefinements>?</mdex-dimension_EnableRefinements>
			<!--Optional:-->
			<mdex-dimension-value_Spec>?</mdex-dimension-value_Spec>
			<!--Optional:-->
			<mdex-dimension-value_Parent>?</mdex-dimension-value_Parent>
			<mdex-dimension_IsDimensionSearchHierarchical>?</mdex-dimension_IsDimensionSearchHierarchical>
			<mdex-dimension_IsRecordSearchHierarchical>?</mdex-dimension_IsRecordSearchHierarchical>
			<!--You may enter ANY elements at this point-->
		</ns1:record>
	</ns:putDimensions>
	<!--Optional:-->
	<ns:updateDimensions>
		<!--Zero or more repetitions:-->
		<ns1:record>
			<!--Optional:-->
			<mdex-dimension_EnableRefinements>?</mdex-dimension_EnableRefinements>
			<!--Optional:-->
			<mdex-dimension_IsDimensionSearchHierarchical>?</mdex-dimension_IsDimensionSearchHierarchical>
			<!--Optional:-->
			<mdex-dimension_IsRecordSearchHierarchical>?</mdex-dimension_IsRecordSearchHierarchical>
			<mdex-dimension_Key>?</mdex-dimension_Key>
			<!--You may enter ANY elements at this point-->
		</ns1:record>
	</ns:updateDimensions>
	
</ns:configTransaction>

Example

Example of soap request with a Dimension Description Records (DDR) defined in the putDimensions element to load the managed attribute BikeType with the help of the Configuration Web Services

<config-service:configTransaction 
              xmlns:config="http://www.endeca.com/MDEX/config/services/types/1/0" 
              xmlns:mdex="http://www.endeca.com/MDEX/config/XQuery/2009/09">
	<config-service:putDimensions>
		<mdex:record>
			<mdex-dimension_EnableRefinements>true</mdex-dimension_EnableRefinements>
			<mdex-dimension_IsDimensionSearchHierarchical>true</mdex-dimension_IsDimensionSearchHierarchical>
			<mdex-dimension_IsRecordSearchHierarchical>true</mdex-dimension_IsRecordSearchHierarchical>
			<mdex-dimension_Key>BikeType</mdex-dimension_Key>
		</mdex:record>
	</config-service:putDimensions>
</config-service:configTransaction>

If the request is successful, the response will look like this example:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <config-types:results 
        xmlns:config-types="http://www.endeca.com/MDEX/config/services/types/1/0">
         <config-service:successPutDimensions/>
      </config-types:results>
   </soapenv:Body>
</soapenv:Envelope>