In addition to the recordFilterBuilders
property, the NavigationStateBuilder
component 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 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.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
By default, DateRangeFilterBuilder
uses only the day portion of the startDate
and endDate
timestamp values in constructing filters. The granularity of the filters is controlled by the unitOfTime
property, which is set by default to DAYS
. You can make the time period more granular by changing the value of this property to HOURS
or MINUTES
. Note, however, that this can degrade filtering performance, because query caching becomes less effective.