elasticsearch,Lucene,elasticsearch" /> elasticsearch,Lucene,elasticsearch" />

Lucene 在ElasticSearch中,删除的停止词对得分的影响仍然很小

Lucene 在ElasticSearch中,删除的停止词对得分的影响仍然很小,lucene,elasticsearch,Lucene,elasticsearch,基本匹配查询:Billy Sue 测试匹配查询#1:Billy Sue和 测试匹配查询#2:比利和苏 我们最终得到的分数在Base和#1之间相同,但Base和#2的分数相似但不同 使用analyze API,两个测试查询上的停止字和都会被删除,但是基本查询和测试查询2之间的Sue的开始偏移量和结束偏移量标记属性不同 本质上,记录剩余标记之间的停止前单词移除距离,并且对评分的影响很小但有限 问题 有没有办法延迟计算令牌的开始偏移量和结束偏移量属性,直到删除停止字之后,或者以其他方式防止删除的停止字

基本匹配查询:Billy Sue

测试匹配查询#1:Billy Sue和

测试匹配查询#2:比利和苏

我们最终得到的分数在Base和#1之间相同,但Base和#2的分数相似但不同

使用analyze API,两个测试查询上的停止字
都会被删除,但是基本查询和测试查询2之间的
Sue
的开始偏移量和结束偏移量标记属性不同

本质上,记录剩余标记之间的停止前单词移除距离,并且对评分的影响很小但有限

问题

有没有办法延迟计算令牌的
开始偏移量
结束偏移量
属性,直到删除停止字之后,或者以其他方式防止删除的停止字以任何方式影响评分?

也许可以禁用停止字过滤器,看看这是否有帮助?特别是如果映射在停止字过滤器之后有某种过滤器,则会从位置增量中获得奇怪的瑕疵

例如,类似这样的事情:

"analyzer": {
   "analyzer_example":{
      "tokenizer":"standard",
      "filter":["standard", "lowercase", "filter_stop"]
    }
},
"filter": { 
   "filter_stop":{
      "type":"stop",
      "enable_position_increments":"false"
    }
}

哇,真不敢相信我忽略了这个选项。今天早上,当我看到那个特定的页面时,它已经盯着我的脸好几次了。谢谢你的完美回答!这在较新版本中不起作用,请参阅