The AvailableSearchKeys complex type lets you retrieve a list of the searchable attributes and search interfaces available in the data store.
<complexType name="AvailableSearchKey">
<annotation>
<documentation>
A key used to identify searchable properties and search interfaces.
</documentation>
</annotation>
<sequence>
<element name="Key" type="string"/>
<element name="DisplayName" type="string" />
</sequence>
<attribute name="Interface" type="boolean" use="required" />
</complexType>
The Interface attribute distinguishes whether the search key is a searchable attribute or a search interface. If the search key is a search interface, the attribute is set to true. If the search key is not a search interface and is a searchable attribute, the attribute is set to false.
<Request xmlns="http://www.endeca.com/MDEX/conversation/1/0">
<State/>
<ContentElementConfig xsi:type="AvailableSearchKeysConfig"
HandlerFunction="AvailableSearchKeysHandler"
HandlerNamespace="http://www.endeca.com/MDEX/conversation/1/0"
Id="MySearchKeys" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</Request>
The Id attribute is an identifier for the configuration.
<cs:Results xmlns:cs="http://www.endeca.com/MDEX/conversation/1/0"
xmlns:mdex="http://www.endeca.com/MDEX/XQuery/2009/09">
<cs:Request>
<State xmlns="http://www.endeca.com/MDEX/conversation/1/0"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"/>
<ContentElementConfig xsi:type="AvailableSearchKeysConfig"
HandlerFunction="AvailableSearchKeysHandler"
HandlerNamespace="http://www.endeca.com/MDEX/conversation/1/0"
Id="MySearchKeys" xmlns="http://www.endeca.com/MDEX/conversation/1/0"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</cs:Request>
<cs:ContentElement xsi:type="cs:AvailableSearchKeys"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<cs:AvailableSearchKey Interface="true">
<cs:Key>AllWineSearch</cs:Key>
<cs:DisplayName>AllWineSearch</cs:DisplayName>
</cs:AvailableSearchKey>
<cs:AvailableSearchKey Interface="false">
<cs:Key>Description</cs:Key>
<cs:DisplayName>Wine Description</cs:DisplayName>
</cs:AvailableSearchKey>
<cs:AvailableSearchKey Interface="false">
<cs:Key>WineType</cs:Key>
<cs:DisplayName>Wine Type</cs:DisplayName>
</cs:AvailableSearchKey>
</cs:ContentElement>
</cs:Results>
Each AvailableSearchKey element lists the name of a searchable attribute or search interface (the Key sub-element) and the display name (which can have a non-NCName format). If the search key is a search interface, the Interface attribute is set to true.
In this sample response, one search interface, AllWineSearch, and two attributes, Description and WineType, are listed as available search keys.