当搜索字符串中有数字时,Elasticsearch 通配符失败



我在这个索引中索引了一些字符串:

{
  "mappings": {
     "record" : {
           "properties" : {
               "my_suggest" : {
                   "type":"completion" 
                }
            }
      }
  }
}

在我的索引中有以下值:

  1. my_suggest = foo1
  2. my_suggest = 柱
  3. my_suggest = 某物2

如果我查询:

   {
    "query":{
        "wildcard":{"my_suggest":"*foo*"}
        }
    }

我已经返回了记录编号 1。

如果我执行此查询:

   {
    "query":{
        "wildcard":{"my_suggest":"*foo1*"}
        }
    }

我返回了空白结果。我期待创纪录的第一名。

为什么会这样?

谢谢。

Elasticsearch默认使用简单分析器,它会删除任何非字母字符。

https://www.elastic.co/guide/en/elasticsearch/reference/5.5/analysis-simple-analyzer.html

请根据您的要求使用其他类型的分析仪或定制分析仪。

https://www.elastic.co/guide/en/elasticsearch/reference/5.5/analysis-analyzers.html

最新更新