Elasticsearch邻近查询是否运行良好?

时间:2014-10-29 16:08:23

标签: elasticsearch proximity

我碰巧在Elasticsearch中查看了一个场景,其中邻近搜索没有按预期工作。让我在下面解释一下。

当我尝试使用搜索词" apple samsung"〜1时,我从本地群集中获得了大约10个结果。但是,当接近期限为"三星苹果"〜1时,它只给我带来了2个结果。

根据以下网址中的Elasticsearch文档,这两个术语应该为我带来相同数量的结果

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#_proximity_searches

这里的任何人都可以帮我这个。

提前致谢, 的Manoj

1 个答案:

答案 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"}
    }
  }'