The /atg/endeca/assembler/cartridge/manager/NavigationStateBuilder
component (of class atg.endeca.assembler.navigation.ExtendedNavigationStateBuilder
) has a rangeFilterBuilders
property that can be set to an array of components of classes that implement the atg.endeca.assembler.navigation.filter.RangeFilterBuilder
interface. Classes that implement this interface construct Endeca range filters that are applied to results returned from MDEX queries.
Commerce Reference Store configures the rangeFilterBuilders
property as follows:
rangeFilterBuilders+=\
/atg/endeca/assembler/cartridge/manager/filter/DateRangeFilterBuilder
The DateRangeFilterBuilder
component, which is of class atg.commerce.endeca.assembler.navigation.filter.DateRangeFilterBuilder
, builds range filters based on the startDate
and endDate
properties of products and SKUs. It has startDatePropertyNames
and endDatePropertyNames
properties that are configured like this:
startDatePropertyNames=\
product.startDate,\
sku.startDate
endDatePropertyNames=\
product.endDate,\
sku.endDate
Because its navigation state is managed differently from other cartridges used in Commerce Reference Store, the /atg/endeca/assembler/cartridge/handler/RecordSpotlight
component uses a separate component of class atg.commerce.endeca.assembler.navigation.filter.DateRangeFilterBuilder
to build range filters. This component is specified through the RecordSpotlight
component’s rangeFilterBuilders
property:
rangeFilterBuilders=\
/atg/endeca/assembler/cartridge/manager/filter/RecordSpotlightDateRangeFilterBuilder
Note that the startDate
and endDate
properties are null on all products and SKUs included in Commerce Reference Store, which means that, by default, no records should be filtered out based on start or end dates. See the Indexing the Product Catalog section of the Search Integration chapter for information about how these records are indexed to ensure they are handled properly by range filters.