如何从聚合中返回数据(字符串)而不进行任何修改?

时间:2014-07-26 08:46:30

标签: elasticsearch

我的_source的一部分看起来像这样:

 "category": {
            "id": 2,
            "translations": [
                {
                    "slug": "word1-and-word2",
                    "language": "en-us",
                    "name": "Word1 & Word2"
                }
            ]
        }

此部分的映射:

          category:
                properties:
                    id:
                        type: "long"
                        index: "not_analyzed"
                    translations:
                        properties:
                            name:
                                type: 'string'
                            slug:
                                type: 'string'
                                index: "not_analyzed"
                            language:
                                type: 'string'
                                index: "not_analyzed"

我正在使用聚合:

category:
    terms:
    field: "category.translations.name"

但是,从聚合返回的密钥为:word2而不是Word1 & Word2。所以它是小写的,并以某种方式修剪......我如何以完整的格式返回数据?

1 个答案:

答案 0 :(得分:1)

在映射中定义子字段:

name: 
   type: 'string'
   fields:
      untouched:
         type: 'string'
         index: 'not_analyzed'

然后在category.translations.name.untouched

上运行聚合术语