我在弹性搜索中很新,我正在尝试使用slop属性来解决问题。
问题:
我有一个multi_match查询,其中一个字段充满了代码,如:
示例1 :“AE 102 BR,V 415 A,K45863”
示例2:“AE 100 BR,AE 101 BR,AE 103 BR,AE 104 BR”
问题在于,有时会为查询“AE 102 BR”选择示例2,因为ES会多次发现“AE”和“BR”。
我想要的解决方案是提升“近距离匹配”,我的意思是如果我有1“3连续词”匹配,它必须总是比4“2个连续词”匹配更有意义。
我尝试了什么:
"multi_match": {
"fields": [ "field1^10", "field2^3",
"field3^3", "**field_code**^3", "global_compatibilities^1" ]
, "query": "AE 102 BR",
"slop": 1
}
但它不起作用(“slop”不会改变任何分数)。
在我的情况下,有人能更好地解释我如何使用slop吗?