If an attribute is configured as multi-and or multi-or, this
affects the way Endeca Server calculates the refinements for such attributes,
and therefore, has implications for the display of such refinements in the user
interface.
The default Guided Navigation behavior of Endeca Server is to
allow users to add only a single value from an attribute to the navigation
state. This means that when users select a refinement from an attribute (by
clicking it in the user interface, in the list of suggested refinements), that
attribute is removed from the list of suggested refinements available for
future refinement in the query results. For example, after selecting "Apple"
from the Flavors attribute, the Flavors attribute is removed from the user
interface's navigation controls. However, sometimes it is useful at navigation
time to allow the user to select more than one value from an attribute. For
example, the user interface can provide a user with the ability to show wines
that have both "Apple" and "Apricot" values from the "Flavor" attribute.
To summarize, even though the fact that an
attribute is tagged as multi-select is transparent to the front-end
application's developer, the behavior of multi-select attributes may require
changes in the user interface. Once an attribute is tagged as multi-select, the
semantics of how Endeca Server interprets navigation queries and returns
available refinements changes. After tagging an attribute as multi-select,
Endeca Server allows multiple attribute values from the same attribute to be
added to the navigation state. Endeca Server behaves differently for the two
types of multi-select attributes:
- A refinement for a
multi-and attribute. Endeca Server treats the
list of attribute values selected from a
multi-and attribute as a Boolean AND operation. That
is, Endeca Server will return all records that satisfy the Boolean AND of all
the attribute values selected from an attribute that is
multi-and. For example, it will return all records
that have been tagged with "Apple" AND "Apricot". If the user continues the
refinement process by clicking one of the suggested refinements, Endeca Server
will also continue to return refinements for a
multi-and attribute. The list of available refinements
will be the set of attribute values that have not been chosen, and are still
valid refinements for the results.
- multi-or
refinement. If the navigation state contains multiple values from a
multi-or refinement, then all of the records in that
state contain at least one of the selected values. A
multi-or attribute is analogous to a
multi-and attribute, except that a Boolean OR
operation is performed instead (that is, all records that have been tagged with
"Apple" OR "Apricot" are returned). Endeca Server will always return all
attribute values for a
multi-or attribute that have not already been selected
– this means that the set of suggested refinements in the user interface does
not correlate to the set of remaining records. Also note that as more
multi-or attribute values are added to the navigation
state, the set of record results gets larger instead of smaller, because adding
more terms to an OR expands the set of results that satisfy the query.
- single
configures the attribute as a single-select attribute. This means that only one
value can be selected for an attribute at a time. This is the default.