我所知道的是this example在索引时提升了 title 字段的重要性。
如何将其与SearchQuerySet
一起使用?
可以使用哪个InputTypes
和运算符(引用,排除,OR),以及它们如何混合?
哪个field lookups可以使用以及结束?
我正在使用ElasticSearch后端
示例目标:提升其标题(不是任何其他字段)以查询字符串开头(或至少包含)的条目
总体思路:title__startswith=q
以某种方式与content=Raw(q)
结合,以便我们获得后者的所有结果,并根据前者进行提升。
filter(SQ(title__startswith=q) | SQ(content=Raw(q))
似乎对得分没有影响
连续的filter(...)
s(或&
)工作很奇怪:title__startswith
允许标题中出现的内容,即使不在开头,但过滤掉那里没有的内容。既不是真正的过滤器,也不是唯一的提升。
答案 0 :(得分:1)
我使用飞快移动作为后端。
在类似的情况下,在使用boost = 1.2添加CharField或EdgeNgramField后,我注意到结果列表和结果顺序没有变化。
我只能通过将模板文件中的标题字段加倍来实现我的目标:
{{object.title}}
{{object.title}}
{{object.body}}