You can configure both dimension searches and record searches to be hierarchical or non-hierarchical.
Searches on a particular dimension can be made hierarchical or
non-hierarchical by setting to true or false the
isHierarchicalDimensionSearchEnabled
attribute of that
dimension's definition in the index-configuration.json
file.
If
isHierarchicalDimensionSearchEnabled=false
, only the
leaf dimension values are searched, and only a leaf dimension value can be
returned as a match.
If
isHierarchicalDimensionSearchEnabled=true
, all
dimension values can be searched, and any dimension value can be returned as a
match. The search term can include any dimension value or combination of
dimension values. The ancestors of the matching dimension value can be listed
in the result as ancestors of the returned dimension value.
Note
Oracle recommends that you enable hierarchical dimension search
(isHierarchicalDimensionSearchEnabled=true
) because it is
required for the operation of several Guided Search tools.
Suppose that a dimension contains the following dimension value hierarchy:
men's clothing -> cargo -> pants
If
isHierarchicalDimensionSearch=false
, then:
If
isHierarchicalDimensionSearch=true
, then, for example:
Any of the dimension values ("men's clothing", "cargo", "pants", ) can be searched on and returned as a match.
A search on "pants" can return only "pants", with "men's clothing -> cargo" listed on the record as ancestors.
Depending on the match mode, a search on "cargo pants" can return only "cargo" or "pants", or nothing.
For example, the following screen shot illustrates the results of a dimension search made with isHierarchicalDimensionSearchEnabled set to true:
The results list contains three matching dimension values:
An application can print the ancestors of each matching dimension value, as in this example.
At least one of the matching dimension values,
camera accessories & supplies
, cannot be a leaf
node, because, as the other matches show, it has child dimension values (that
is,
camera docks
and
underwater camera housings
).
Record searches can be made hierarchical or non-hierarchical by
setting to true or false the
isHierarchicalRecordSearchEnabled
attribute of
dimension definitions in the
index-configuration.json
file. The setting of this
attribute affects only the results returned for any dimensions that are members
of the search interface through which the record search is performed. It has no
effect on the results returned for properties that are members of the search
interface.
If
isHierarchicalRecordSearchEnabled=false
, only leaf
dimension values are searched, and only records tagged to leaf dimension values
that match the search term are returned.
If
isHierarchicalRecordSearchEnabled=true
, any dimension
value in the hierarchy can be searched. In any case, the results include only
the records that are tagged to dimension values that match the search term.
Note
When isHierarchicalRecordSearchEnabled is set to true for a
dimension,
isRecordSearchEnabled
must also be set to true for
that dimension.
Suppose that a dimension contains the following dimension value hierarchy, with records tagged to each dimension value:
men's clothing -> cargo -> pants
If
isHierarchicalRecordSearchEnabled=false
, then, for
example:
If
isHierarchicalRecordSearchEnabled=true
, then, for
example: