ElasticSearch not_analyzed字段的行为不一致

时间:2017-03-02 16:29:15

标签: elasticsearch bigdata

我使用的是ES 2.3版。我索引了一些具有如下结构的文档:

{
"BUSINESSLINE" :"ABC CORP",
"NAME" : "John"
....
...
}

字段BUSINESSLINE未分析字符串。

问题是此查询返回结果:

 {
      "query": {
        "multi_match" : {
          "query":    "ABC", 
          "fields": [ "_all" ] 
        }
      }
    }

但是这个没有(它没有显示命中!):

{
      "query": {
        "multi_match" : {
          "query":    "ABC", 
          "fields": [ "BUSINESSLINE " ] 
        }
      }
    }

任何帮助表示赞赏,我试图谷歌和研究,但我无法找到任何理由。 谢谢!

1 个答案:

答案 0 :(得分:0)

是的,你是对的。由于_all字段,查询与文档匹配,这是一个通过空格分隔符连接所有字段构造的大字符串。它也是analysed,这就是您的查询匹配的原因。

您可以详细了解here