背景:
1 - 我正在使用WebSolr进行此搜索。 2 - 我在websolr中存储了两个字段 - name和id。
我想根据名称搜索这些条目并根据此条件提高搜索分数:
if id in [x1,x2..xN] then +2
if id in [y1,y2..yN] then +1
else +0
根据我的研究,答案如下 - 函数查询,或 - DisMaxQParser
我查看过文档,但IMO并不是很全面。
感谢任何帮助。
答案 0 :(得分:1)
你可以使用提升。尝试像
这样的查询name:searchString AND ( id:[x1 TO xN] ^2 OR id:[y1 TO yN]^1)
答案 1 :(得分:0)
除了hkn的方法,您还可以使用DisMax query parser提升查询:
q=queryString
&defType=dismax
&qf=…
&bq=id:[x1+TO+xN]^3
&bq=id:[y1+TO+yN]^2
(未经测试,但应传达这个想法。)