Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 通过关键字位置进行相关度调整solr全文搜索+;发生_Search_Solr_Full Text Search_Sunspot - Fatal编程技术网

Search 通过关键字位置进行相关度调整solr全文搜索+;发生

Search 通过关键字位置进行相关度调整solr全文搜索+;发生,search,solr,full-text-search,sunspot,Search,Solr,Full Text Search,Sunspot,我正在尝试对存储在每个单词数组中的字典定义进行文本搜索。我想做的是具备以下条件以获得更高的排名: 如果关键字出现在定义的早期,则条目的排名应该更高 如果定义与关键字完全匹配,则条目的排名应该更高 如果关键字在定义中出现的频率更高,则条目的排名应该更高 例如,搜索“汽车” 字1: 汽车 车辆 公共汽车 单词2: 停车 停车场 单词3: 小汽车 排名应该返回单词1,然后是单词3,然后是单词2 如果可能的话,我将如何用Solr实现这一点?如果没有,我还有什么其他选择来进行这种搜索排名呢?我只是从学术角

我正在尝试对存储在每个单词数组中的字典定义进行文本搜索。我想做的是具备以下条件以获得更高的排名:

  • 如果关键字出现在定义的早期,则条目的排名应该更高
  • 如果定义与关键字完全匹配,则条目的排名应该更高
  • 如果关键字在定义中出现的频率更高,则条目的排名应该更高
  • 例如,搜索“汽车”

    字1:

  • 汽车
  • 车辆
  • 公共汽车
  • 单词2:

  • 停车
  • 停车场
  • 单词3:

  • 小汽车
  • 排名应该返回单词1,然后是单词3,然后是单词2


    如果可能的话,我将如何用Solr实现这一点?如果没有,我还有什么其他选择来进行这种搜索排名呢?

    我只是从学术角度分析了这一点,因此无法用经验来支持我的答案

    看一看在索尔。Grant Ingersoll从一个基本的层面解释了这一点,文章中的测试看起来与您的用例类似

    也值得一看,但我不确定它是否适合您描述的用例


    一定要把你的实验/经历发回来。

    为什么单词3会排在单词2之前?“car”是“small car”中的第二个单词,而“parking a car”是第三个单词。