The CROSS_FIELD_BOUNDARY attribute specifies when the Dgraph process of the Oracle Endeca Server should try to match search queries across attribute boundaries.
Setting | Description |
---|---|
ALWAYS |
The Dgraph always looks for matches across attribute boundaries, in addition to matches within an attribute. If you choose to use cross-field matching, the ALWAYS setting is recommended. For example, in the Sony camera user query, if CROSS_FIELD_BOUNDARY is set to ALWAYS, the Dgraph returns all matches with Brand = Sony and Product_Type = camera. |
ON_FAILURE | The Dgraph only tries to match queries across attribute boundaries if it fails to find any matches within a single attribute. Note that in most cases, the ALWAYS setting provides better results than the ON_FAILURE setting. |
NEVER | The Dgraph does not look across boundaries for matches. This is the default. |
By default, record search queries using a search interface return the union of the results from the same record search query performed against each of the interface members.
For example, assume a search interface named MoviePeople that includes actor and director attributes. Searching for deniro against this interface returns the union of records that results from searching for deniro against the actor attribute and against the director attribute.
Less frequently, you may wish to allow a match to span multiple attributes. For example, in the same MoviePeople search interface, a query for clint eastwood returns records where either an actor standard attribute or a director attribute is assigned a value containing the words clint and eastwood. This behavior is useful for this query, where the search terms all relate to a single concept (the actor/director Clint Eastwood).
However, in some cases returning a union of the results from the same record search query performed against each search interface member is unnecessarily limiting. For example, in a home electronics catalog application, a customer searching for Sony camera might be interested in a broad range of products, but this record search would only return the few products that have the terms Sony and camera in the product name.
In such cases, you can use the CROSS_FIELD_BOUNDARY attribute when you create a search interface. This attribute specifies when the Dgraph should try to match search queries across attribute boundaries, but within the members of the search interface.
When a search interface member (that is, a searchable attribute) is multi-assigned on a record, the multi-assigns are treated by the Dgraph process of the Oracle Endeca Server as separate matches, just as if they were values from different attributes. A search that matches two or more terms in separate multi-assign values for the same attribute is treated as a cross-field match by the Dgraph process.
For example, assume a record has the following attribute values:
P_Tag: Tom Brady P_Tag: Jersey
A search against P_Tag for "tom brady jersey" is treated as a cross-field match, even though all results were found in the same attribute (P_Tag).