以下是我的总结。

{
    "size": 0,
    "aggs": {
        "cities": {
            "terms": {
               "field": "city.raw"
           }
    }
}

制图
"properties": {
    "state" : {
      "type": "string",
      "fields": {
        "raw" : {
          "type": "string",
          "index": "not_analyzed"
        }
      }
    }

效果很好。但是它考虑到区分大小写对字段进行分组。

例如。
{
    "key": "New York",
    "doc_count": 45
},
{
    "key": "new york",
    "doc_count": 11
},
{
    "key": "NEW YORK",
    "doc_count": 44
}

我希望结果像这样
{
    "key": "new york",
    "doc_count": 100
}

最佳答案

我认为问题是您使用索引字符串的原始版本

city.raw

您没有存档的任何分析版本?
如果您还将字段的映射也放在示例中,那应该很棒。

更新:U应该使用自定义分析器来满足您的需求。标记器应为关键字,过滤器应为小写。然后使用此分析器索引数据。然后应该工作。
            "analyzer": {
                "my_analyzer": {
                    "type":         "custom",
                    "tokenizer":    "keyword",
                    "filter":       "lowercase"
                }
            }

还有一些信息KeyWord AnalyzerCustom Analyzers

10-06 12:57
查看更多