The Allow Cross-field Matches is one of the attributes in the Search Interface editor in Developer Studio. This attribute specifies when the MDEX Engine should try to match search queries across dimension or property boundaries.
| Setting | Description |
|---|---|
|
Always |
The MDEX Engine always looks for matches across dimension or property boundaries, in addition to matches within a dimension or property. If you choose to use cross-field matching, the Always setting is recommended and is the default. For example, in the Sony camera user query, if Allow Cross-field Matches is set to Always, the MDEX Engine returns all matches with Brand = Sony and Product_Type = camera. |
|
Never |
The MDEX Engine does not look across boundaries for matches. |
|
On Failure |
The MDEX Engine only tries to match queries across dimension or property boundaries if it fails to find any matches within a single dimension or property. Note: In most cases, the Always setting provides better
results than the On Failure setting.
|
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 properties. Searching for deniro against this interface returns the union of records that results from searching for deniro against the actor property and against the director property.
Less frequently, you may wish to allow a match to span multiple properties and dimensions. For example, in the same MoviePeople search interface, a query for clint eastwood returns records where either an actor property or a director property 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 attribute in the Search Interface editor in Developer Studio, when you create a search interface. The Allow Cross-field Matches attribute specifies when the MDEX Engine should try to match search queries across dimension or property boundaries, but within the members of the search interface.
When a search interface member (that is, a searchable dimension or property) is multi-assigned on a record, the multi-assigns are treated by the MDEX Engine as separate matches, just as if they were values from different properties. A search that matches two or more terms in separate multi-assign values for the same property is treated as a cross-field match by the MDEX Engine.
For example, assume a record has the following property 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 property (P_Tag).