Solr结果排名对特定查询的修改

时间:2019-01-03 17:19:06

标签: solr

我是Solr的新手,并且正在尝试为我的网站构建一个简单的搜索解决方案。我正在尝试构建一个类似于Swifttype的结果排名功能的功能。 即,说“冰”的结果是

  1. 冰山
  2. 冰淇淋
  3. ......

等等。

如果我只想对“冰”查询将“冰淇淋”排名较高,但是当我搜索“冰岛”之类的其他搜索字词时,则应保留默认排名。我该如何实现?

我正在使用solr v7.5

预先感谢...

1 个答案:

答案 0 :(得分:2)

通过Query Elevation Component,您可以配置给定查询的最佳搜索结果,而无需进行常规的Lucene评分。

更重要的是,您将需要配置如下所示的elevate.xml文件:

<elevate>
  <query text="ice">
    <doc id="1" /> //where id=1 is your ice cream document
    <doc id="2" />
    <doc id="3" />
  </query>

</elevate>

稍后,在搜索过程中,您只需指定http参数enableElevation=true

即可启用它