Я использую настройку по умолчанию Oscar 2.0 с ElasticSearch 2.4.6, однако данные диапазона цен, сгенерированные фасетами, всегда отключаются с нулевым счетом, остальные данные, связанные с полями (рейтинг и класс продукта), в порядке.
Я заметил, что вывод self.results.facet_counts () просто подсчитывает количество элементов, у которых есть цена, и не использует предоставленный запрос для диапазонов, однако информация quert_facets в search_query () выглядит отлично, показывает требуемые диапазоны запросов
self.results.facet_counts () снимок экрана
Search_QuerySet.quert_facets снимок экрана
контекстный вывод
# Search facets
OSCAR_SEARCH_FACETS = {
'fields': OrderedDict([
('product_class', {'name': _('Type'), 'field': 'product_class'}),
('rating', {'name': _('Rating'), 'field': 'rating'}),
]),
'queries': OrderedDict([
('price_range',
{
'name': _('Price range'),
'field': 'price',
'queries': [
# This is a list of (name, query) tuples where the name will
# be displayed on the front-end.
(_('0 to 20'), '[0 TO 20]'),
(_('20 to 40'), '[20 TO 40]'),
(_('40 to 60'), '[40 TO 60]'),
(_('60+'), '[60 TO *]'),
]
}),
]),
}