【问题标题】:Fewer than Expected Results from Elasticsearch's Fuzzy QueryElasticsearch 的模糊查询的结果比预期的要少
【发布时间】:2015-09-11 08:49:59
【问题描述】:

我在使用 elasticsearch 模糊查询时遇到了一些奇怪的行为,我不知道自己做错了什么。

这些是我的索引中的名称:

  "hits": [
     {
           "name": "bbbb"

           "name": "abab"

           "name": "abbb"

           "name": "aaaa"
        }
     }
  ]

但是这个假设返回所有四个元素的查询只返回“abab”和“aaaa”。

POST /test/_search?pretty
{
   "size": 10,
   "query": {
      "fuzzy": {
         "name": {
            "value": "aaaa",
            "fuzziness": 4
         }
      }
   }
}

名称字段映射为字符串类型。顺便问一下,设置not_analyzed映射到字段是否会影响模糊查询结果?

【问题讨论】:

    标签: elasticsearch fuzzy-search


    【解决方案1】:

    基于Fuzzy Query documentation末尾引用的Elasticsearch's Common Options - Fuzziness documentation,对于字符串字段,模糊性参数似乎只采用以下值之一:0、1、2、AUTO、0.0...0.1。该部分的最后一段作为注释:

    注意:在除 Fuzzy Like This Query 之外的所有 API 中,允许的最大编辑距离为 2。

    正如您所观察到的,除此之外的任何内容似乎都被限制在 2 的编辑距离上。这一切都适用于 Elasticsearch 的更高版本,因为 0.90 的文档有点不同。

    【讨论】:

      猜你喜欢
      • 2019-11-29
      • 1970-01-01
      • 2021-08-09
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多