The SEARCH_INTERFACE element is a named collection of Endeca standard attributes and/or managed attributes.
Both standard attributes and managed attributes can co-exist in a SEARCH_INTERFACE. The Endeca attributes in the group are specified in MEMBER_NAME elements.
If a standard attribute or managed attribute is not included in any SEARCH_INTERFACE element, then an implicit SEARCH_INTERFACE element is created with the same name as the standard attribute or managed attribute and that single standard attribute or managed attribute as its only member. The value for the CROSS_FIELD_RELEVANCE_RANK is set to 0.
<!ELEMENT SEARCH_INTERFACE ( MEMBER_NAME+ , PARTIAL_MATCH? ) > <!ATTLIST SEARCH_INTERFACE NAME CDATA #REQUIRED DEFAULT_RELRANK_STRATEGY CDATA #IMPLIED CROSS_FIELD_RELEVANCE_RANK CDATA #IMPLIED CROSS_FIELD_BOUNDARY (ALWAYS |ON_FAILURE |NEVER) "NEVER" STRICT_PHRASE_MATCH (TRUE|FALSE) #IMPLIED >
The SEARCH_INTERFACE element has the following attributes.
NAME
A unique name for this search interface.
DEFAULT_RELRANK_STRATEGY
For record search, a default relevance scoring function assigned to a SEARCH_INTERFACE. For example, if your search interface is called Flavors, the DEFAULT_RELRANK_STRATEGY attribute has the value "Flavors_strategy".
CROSS_FIELD_RELEVANCE_RANK
Specifies the relevance rank score for cross-field matches. The value should be an unsigned 32-bit integer. The default value for CROSS_FIELD_RELEVANCE_RANK is 0.
CROSS_FIELD_BOUNDARY
STRICT_PHRASE_MATCH
Specifies that the Dgraph should interpret a query strictly when comparing white space in the query with punctuation in the source text. If set to FALSE, partial word tokens connected in the source text by punctuation can be matched to a phrase query where the partial tokens are separated by spaces instead of matching punctuation. The default value of this attribute is TRUE.
The following table provides a brief overview of the SEARCH_INTERFACE sub-elements.
Sub-element | Brief description |
---|---|
MEMBER_NAME | Specifies the name of an attribute that is part of a SEARCH_INTERFACE. |
PARTIAL_MATCH | Specifies if partial query matches should be supported for the SEARCH_INTERFACE that contains this element. |
This example establishes a search interface called AllFields, which contains four members.
<SEARCH_INTERFACE CROSS_FIELD_BOUNDARY="ALWAYS" CROSS_FIELD_RELEVANCE_RANK="0" DEFAULT_RELRANK_STRATEGY="All" NAME="AllFields"> <MEMBER_NAME RELEVANCE_RANK="4">ProductType</MEMBER_NAME> <MEMBER_NAME RELEVANCE_RANK="3">ProductName</MEMBER_NAME> <MEMBER_NAME RELEVANCE_RANK="2">SalesRegion</MEMBER_NAME> <MEMBER_NAME RELEVANCE_RANK="1">Description</MEMBER_NAME> </SEARCH_INTERFACE>