elasticsearch将一个原始字段放在字段

时间:2016-07-22 18:36:13

标签: elasticsearch

简单地

此查询

GET blabla/_search
{
  "_source": "city.raw"

}

给出零结果

但是这一个:

GET blabla/_search
    {
      "_source": "city"

    }

提供数百万份文件。

现场城市的映射如下:

 "city": {
            "type": "string",
            "analyzer": "standard",
            "fields": {
              "raw": {
                "type": "string",
                "index": "not_analyzed"
              }
            }
          },

如您所见,.raw就在那里。请问我有什么问题

1 个答案:

答案 0 :(得分:3)

city.raw字段未存储在_source仅被编入索引的字段中,因此您可以对其进行搜索并对其执行聚合。

索引文档(例如

)时会发生什么
{ "city": "New York" }

就是那个

  • city字段将包含两个令牌newyork(即已分析)
  • city.raw字段将包含单个令牌New York(即未分析)。

在您的第一个示例中,您尝试从源中检索city.raw字段,但不存在此类字段,因为它是在分析过程中创建的合成字段。