我碰巧在Elasticsearch中查看了一个场景,其中邻近搜索没有按预期工作。让我在下面解释一下。
当我尝试使用搜索词" apple samsung"〜1时,我从本地群集中获得了大约10个结果。但是,当接近期限为"三星苹果"〜1时,它只给我带来了2个结果。
根据以下网址中的Elasticsearch文档,这两个术语应该为我带来相同数量的结果
这里的任何人都可以帮我这个。
提前致谢, 的Manoj
答案 0 :(得分:2)
它将取决于您的数据 - 如果您的查询是:
curl -XGET 'http://localhost:9200/test/message/_search?pretty' -d '{
"query": {
"query_string": { "query":"\"apple samsung\"~1"}
}
}'
这是一个slop,它会匹配
"samsung apple"
"samsung xxxx apple"
匹配哪里" apple"首先出现,你需要指定一个斜坡2:
curl -XGET 'http://localhost:9200/test/message/_search?pretty' -d '{
"query": {
"query_string": { "query":"\"apple samsung\"~2"}
}
}'