If an attribute is configured as multi-and or multi-or, this
affects the way the 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 the Oracle 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 the Oracle Endeca Server interprets navigation queries and
returns available refinements changes. After tagging an attribute as
multi-select, the Endeca Server allows multiple attribute values from the same
attribute to be added to the navigation state. The Endeca Server behaves
differently for the two types of multi-select attributes:
- A refinement for a
multi-and
attribute. The Endeca Server treats the list of attribute values selected from
a
multi-and attribute as a Boolean AND operation. That
is, the 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, the 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). The 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.