Managed attribute hierarchy filters

An EQL record filter can specify managed attribute values for the search criteria.

You can use two EQL hierarchy functions to specify managed attribute values:
Hierarchy function
IS_ANCESTOR(managedAttribute, valueSpec) Include the record if the named attribute is the attribute specified or an ancestor. If the attribute is not a member of the specified hierarchy, it is a query-time error.
IS_DESCENDANT(managedAttribute, valueSpec) Include the record if the named attribute is the attribute specified or a descendant, and if the specified value spec matches. If the attribute is not a member of the specified hierarchy, it is a query-time error.

For both functions, managedAttribute is the name of a managed attribute, and valueSpec (specified as a string) is the spec (not the value name) of the managed attribute value.

Example

This example uses the IS_DESCENDANT function:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <Request xmlns="http://www.endeca.com/MDEX/conversation/3/0">
        <State>
          <DataSourceFilter Id="DataFlt">
             <filterString>COUNTRY_NAME = 'United States of America'</filterString>
          </DataSourceFilter>
          <SelectionFilter Id="MavFlt">
             <filterString>IS_DESCENDANT(ProductCategory, '140')</filterString>
          </SelectionFilter>
        </State>
        <RecordListConfig Id="Recs" MaxPages="20">
           <RecordsPerPage>5</RecordsPerPage>
        </RecordListConfig>
      </Request>
    </soapenv:Body>
</soapenv:Envelope>
The search is filtered on the managed attribute value that has a spec of "140" and is a descendant of the ProductCategory managed attribute. Each returned record should have the following assignment:
<cs:Record>
   ...
   <cs:attribute name="ProductCategory" type="mdex:string" displayName="Endurance Racing">140</cs:attribute>
   ...
</cs:Record>