elasticsearch ElasticSearch:使用match_短语支持模糊性的替代方法
我的文档有一个“描述”字段,包含3到10个句子 我必须支持模糊性,因为我不能期望用户说出完全相同的单词 另一方面,我必须使用“match_短语”而不是“match”,因为如果单词之间的距离太远,文档就不相关 问题是“匹配短语”不分析单词,因此不支持模糊性。(见最后一段)
elasticsearch ElasticSearch:使用match_短语支持模糊性的替代方法,
elasticsearch,fuzzy-search,match-phrase,
elasticsearch,Fuzzy Search,Match Phrase,我的文档有一个“描述”字段,包含3到10个句子 我必须支持模糊性,因为我不能期望用户说出完全相同的单词 另一方面,我必须使用“match_短语”而不是“match”,因为如果单词之间的距离太远,文档就不相关 问题是“匹配短语”不分析单词,因此不支持模糊性。(见最后一段) 我想我需要一个创造性的解决方案来达到这两个要求。可能通过使用其他搜索查询。在深入研究了“span”查询之后,发现通过使用“span\u near”和“span\u multi”可以实现上述两个请求 下面是在“描述”字段中搜索“h
我想我需要一个创造性的解决方案来达到这两个要求。可能通过使用其他搜索查询。在深入研究了“span”查询之后,发现通过使用“span\u near”和“span\u multi”可以实现上述两个请求 下面是在“描述”字段中搜索“hello world”的示例
美好的您是否已设法使查询中的某些单词成为可选的?i、 e.查询中的一个或两个单词缺失,但仍被视为匹配。我试着玩
slop
,但我仍然不确定它会如何影响结果。
{
"span_near": {
"clauses": [{
"span_multi": {
"match": {
"fuzzy": {
"description": {
"value": "hello"
}
}
}
}
}, {
"span_multi": {
"match": {
"fuzzy": {
"description": {
"value": "world"
}
}
}
}
}],
"slop": 2,
"in_order": false,
"collect_payloads": false
}
},