Compound dimension search enables the MDEX Engine to return combinations of dimension values, called navigation states, that match a search query (in addition to single dimension values).
For example, the compound dimension search query:
1996 + merlot
could return a result such as:
{Year: 1996, Varietal: Merlot}
Note
Compound dimension search reduces to default dimension search for single-term queries, because any navigation state that minimally covers a single-term query will contain only one dimension value.
Compound dimension search results are navigation states that satisfy the following three properties:
Validity. A navigation state is valid if it leads to actual records.
For example, the navigation state
{Year: 1996, Varietal: Cabernet}
is valid if, and only if, there is at least one record that is assigned both dimension values.Coverage. A navigation state covers a query if the union of its dimension values accounts for all of the terms in the query, possibly by way of query expansion (such as stemming, thesaurus, or spelling correction).
In other words, each dimension value in the navigation state must match at least one of the search terms. (We assume here that the query mode is MatchAll. The semantics for other match modes are discussed in other topics.)
For example, the navigation state
{Year: 1996, Varietal: Cabernet}
is not a cover for the query1996 + merlot
, because the query termmerlot
is not accounted for by any of its dimension values.Minimalism. A navigation state is a minimal cover of the query if removing any of its dimension values would cause it to no longer cover as many query terms.
For example, the navigation state
{Year: 1996, Varietal: Merlot, Flavor: Oak}
is a cover, but it is not a minimal cover, because removing the dimension valueFlavor: Oak
leaves us with a cover.