基本匹配查询:Billy Sue
测试匹配查询#1:Billy Sue和
测试匹配查询#2:Billy和Sue
我们最终在Base和#1之间得分相同,但Base和#2的得分相似且不同。
使用analyze API,两个测试查询都删除了停用词and
,但是基本查询和测试查询#2之间的Sue
的start_offset和end_offset标记属性不同。
基本上,记录剩余令牌之间的预停字移除距离,并对得分产生小而有限的影响。
问题
有没有办法延迟计算令牌的start_offset
和end_offset
属性,直到删除停用词后,或以其他方式阻止删除的停止词影响得分?< / p>
答案 0 :(得分:3)
也许在停用词过滤器上禁用position increments看看是否有帮助?特别是如果您的映射在停用词过滤器之后有某种过滤器,您将从位置增量中获得奇怪的伪像
E.g。像这样的东西:
"analyzer": {
"analyzer_example":{
"tokenizer":"standard",
"filter":["standard", "lowercase", "filter_stop"]
}
},
"filter": {
"filter_stop":{
"type":"stop",
"enable_position_increments":"false"
}
}