Loading an attribute schema

You can use the Configuration Web Service to load the schema for your standard and managed attributes.

It is recommended to load your attribute schema before loading your source records, so that you can modify the resulting PDRs and DDRs as needed, without causing the Dgraph process to reindex the data set. After the PDRs and DDRs have been configured as desired, you can then use the Data Ingest Web Service to load your source records.

  • The putProperties element loads the standard attributes schema.
  • The putDimensions element loads the managed attributes schema.
To illustrate the use of this operation, this configTransaction simple example from the Configuration Web Service will be used:
<config-service:configTransaction 
   xmlns:config="http://www.endeca.com/MDEX/config/services/types/2/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:putProperties>
    <mdex:record>
      <mdex-property_IsSingleAssign>true</mdex-property_IsSingleAssign>
      <mdex-property_IsTextSearchable>false</mdex-property_IsTextSearchable>
      <mdex-property_IsUnique>true</mdex-property_IsUnique>
      <mdex-property_Key>ProductID</mdex-property_Key>
      <mdex-property_TextSearchAllowsWildcards>false</mdex-property_TextSearchAllowsWildcards>
      <mdex-property_IsPropertyValueSearchable>false</mdex-property_IsPropertyValueSearchable>
      <mdex-property_Type>mdex:int</mdex-property_Type>
      <mdex-property_DisplayName>Product ID</mdex-property_DisplayName>
    </mdex:record>
    <mdex:record>
      <mdex-property_IsSingleAssign>true</mdex-property_IsSingleAssign>
      <mdex-property_IsTextSearchable>true</mdex-property_IsTextSearchable>
      <mdex-property_IsUnique>false</mdex-property_IsUnique>
      <mdex-property_Key>BikeType</mdex-property_Key>
      <mdex-property_TextSearchAllowsWildcards>true</mdex-property_TextSearchAllowsWildcards>
      <mdex-property_IsPropertyValueSearchable>true</mdex-property_IsPropertyValueSearchable>
      <mdex-property_Type>mdex:string</mdex-property_Type>
      <mdex-property_DisplayName>Bike Type</mdex-property_DisplayName>
    </mdex:record>
  </config-service:putProperties>
</config-service:configTransaction>

The example creates two standard attributes (ProductID and BikeType) and one managed attribute (BikeType). The ProductID attribute is configured as a single-assign, unique attribute, so that it can be used as a primary key for records. The BikeType attribute is the standard attribute record used for the creation of the BikeType managed attribute.

To load an attribute schema into the Endeca data domain:

  1. Make sure that the Oracle Endeca Server and the data domain are running. Access the Configuration Web Service for the data domain: http://localhost:<port>/ws/config/dataDomain?wsdl.
  2. Make a SOAP request to the Configuration Web Service as shown above.
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/2/0"/>
 </soapenv:Body>
</soapenv:Envelope>