0

背景:

1 - 我正在使用 WebSolr 进行此搜索。2 - 我在 websolr 中存储了两个字段 - 名称和 ID。

我想根据名称搜索这些条目并根据以下条件提高搜索分数:

if id in [x1,x2..xN] then +2
if id in [y1,y2..yN] then +1
else +0

根据我的研究,答案在于以下 - 函数查询,或 - DisMaxQParser

我查看了文档,但 IMO 不是很全面。

任何帮助表示赞赏。

4

2 回答 2

1

你可以使用提升。尝试像这样的查询

name:searchString AND ( id:[x1 TO xN] ^2 OR id:[y1 TO yN]^1)
于 2011-07-07T08:30:32.190 回答
0

除了 hkn 的方法,您还可以使用DisMax 查询解析器增强查询:

q=queryString
&defType=dismax
&qf=…
&bq=id:[x1+TO+xN]^3
&bq=id:[y1+TO+yN]^2

(未经测试,但应该传达这个想法。)

于 2012-04-26T18:03:36.533 回答