【发布时间】:2019-09-22 06:12:41
【问题描述】:
我使用 Oscar 2.0 和 ElasticSearch 2.4.6 的默认设置,但是,由 facets 生成的价格范围数据总是被禁用,计数为零,与字段相关的其他数据(评级和产品类别)很好
我注意到 self.results.facet_counts() 的输出只是计算有价格的项目数,而不是使用提供的范围查询,但是,search_query() 下的 quert_facets 信息看起来不错,显示所需的查询范围
self.results.facet_counts() screenshot
Search_QuerySet.quert_facets screenshot
# 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 *]'),
]
}),
]),
}
【问题讨论】:
-
谢谢,原来是Haystack和Elasticsearch之间的问题,Oscar团队正在努力用自己的Elastic搜索界面替换Haystack
标签: django-oscar