我所知道的是,this example在建立索引时提高了标题字段的重要性。
如何与 SearchQuerySet
一起使用?
可以使用哪些 InputTypes
和运算符(引号,排除或OR),以及如何将它们混合使用?
可以使用哪种field lookups,目的是什么?
我正在使用ElasticSearch后端。
目标示例:提升其标题(不是任何其他字段)以(或至少包含)查询字符串开头的条目。
总体思路:title__startswith=q
以某种方式与content=Raw(q)
结合使用,以便我们获得后者的所有结果,并基于前者进行增强。filter(SQ(title__startswith=q) | SQ(content=Raw(q))
似乎对分数没有影响。
连续filter(...)
(或&
)的工作很奇怪:title__startswith
允许标题中出现的内容(即使不是开头的内容)也可以过滤掉标题中不存在的内容。既不是真正的过滤器,也不是纯粹的增强器。
最佳答案
我正在使用Whoosh作为后端。
在类似情况下,在添加Boost = 1.2的CharField或EdgeNgramField后,我注意到结果列表和结果顺序没有变化。
我只能通过将模板文件中的title字段加倍来实现我的目标:
{{object.title}}
{{object.title}}
{{object.body}}
关于django - django-haystack现场 boost -究竟如何使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22961280/