【问题标题】:Does Elasticsearch proximity queries work good?Elasticsearch 邻近查询是否有效?
【发布时间】:2014-10-29 16:08:23
【问题描述】:

我碰巧研究了 Elasticsearch 中的一个场景,其中邻近搜索没有按预期工作。下面我来解释一下。

当我尝试搜索词“apple samsung”~1 时,它为我带来了来自本地集群的大约 10 个结果。但是当邻近词是“三星苹果”~1 时,它只给我带来了 2 个结果。

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

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

这里有人可以帮助我吗?

提前致谢, 马诺吉

【问题讨论】:

    标签: elasticsearch proximity


    【解决方案1】:

    这将取决于您的数据 - 如果您的查询是:

     curl -XGET 'http://localhost:9200/test/message/_search?pretty' -d '{
       "query": {
          "query_string": { "query":"\"apple samsung\"~1"}
        }
      }'
    

    这是slop 之一,它会匹配

    "samsung apple"
    "samsung xxxx apple" 
    

    要匹配“apple”首先出现的位置,您需要指定 slop 2:

     curl -XGET 'http://localhost:9200/test/message/_search?pretty' -d '{
       "query": {
          "query_string": { "query":"\"apple samsung\"~2"}
        }
      }'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      相关资源
      最近更新 更多