Solr - 如何提高早期比赛的得分?

时间:2012-08-22 09:23:47

标签: solr

如何提高我的查询先前与特定字段匹配的文档的分数。例如,搜索“超级男人”应该给“超级男人回归”一个比“有我超级男人”更高的分数。这可能吗?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

在网上阅读了很多关于此的内容之后解决了这个问题。具体帮助我的是对nabble的回复,就像(我使用dismax,所以在这里解释):

  • 创建一个名为'nameString'的单独字段,该值将值存储为"_START_ <actual data>"
  • 将搜索查询更改为"_START_ <actual query>"
  • 将新字段nameString添加为要在查询字段param(qf)中查找的字段之一
  • 搜索时使用参数pf(短语字段)作为新字段nameString,短语slop为1或2(较低的值意味着更严格的搜索)

您的最终查询参数类似于:

q=_START_ <actual query>
defType=dismax
qf=name nameString /* look in name field as well as nameString field */
pf=nameString /* phrase field in nameString */
ps=2 /* phrase slop */