如何根据Django Solr中选定的类别形成正确的查询列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据Django Solr中选定的类别形成正确的查询列表相关的知识,希望对你有一定的参考价值。
有人可以解释我,如果这是一个正确的方法,我试图在过滤器形式中形成查询字段列表,取决于选择了什么类别。
至于现在,如果我选择类别武器,在过滤器中来自其他类别的所有其他字段,显示太像image
我在Solr_backend中形成了这样的查询
def search_facet(self, query_string, **kwargs):
facet_fields = None
try:
raw_results = self.conn.search(query_string, facet = 'on' ,** {'facet.field' : ['product_class_exact']})
facet_fields = raw_results.facets.get('facet_fields', {})
except (IOError, SolrError) as e:
if not self.silently_fail:
raise
self.log.error("Failed to query Solr using '%s': %s", query_string, e, exc_info=True)
raw_results = EmptyResults()
return facet_fields
但它只返回一个字段字符串,product_class_exact': [u'T-shirt', 3, u'Classic', 2, u'Common', 2, u'Bow', 1, u'Sword', 1, u'Teleporter', 1]
我应该在这个方法中形成相应的字典,或者它可以用不同的方式完成,因为现在我仍然不知道如何定义哪个字段对应于哪个类别!
答案
固定,thx到solr Irc - self.conn.search(query_string, facet = 'on' ,** {'facet.pivot': 'category_exact,product_class_exact'})
以上是关于如何根据Django Solr中选定的类别形成正确的查询列表的主要内容,如果未能解决你的问题,请参考以下文章
使用脚本删除 django-autocomplete 的选定值