elasticsearch - 获得独特条款的计数

标签 elasticsearch

在elasticsearch中,我想要获得唯一的术语以及该术语的数量。

index:
doc1: filetype(multivalued): pdf, zip, zip, txt

expected result:
pdf: 1
zip: 2
txt: 1

I made this query, but I got an error.

"aggs": {
    "uniqueTerms": {
        "terms": {
            "field": "filetype"
        }
    },
    "aggs": {
        "count": {
            "cardinality": {
                "field": "filetype"
            }
        }
    }
}

如何查询以获得结果?

索引映射已更新:
"file" : {
    "properties" : {
        "filetype" : {
            "type" : "string",
            "norms" : {
                "enabled" : false
            },
            "fields" : {
                  "raw" : {
                      "type" : "string",
                      "index" : "not_analyzed",
                      "ignore_above" : 256
                  }
              }
          }
      }
}

最佳答案

好的开始,您快到了。您只需要将cardinality聚合嵌套更深一层。

{
  "aggs": {
    "uniqueTerms": {
      "terms": {
        "field": "filetype"
      },
      "aggs": {
        "count": {
          "cardinality": {
            "field": "filetype"
          }
        }
      }
    }
  }
}

关于elasticsearch - 获得独特条款的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39114043/

相关文章:

regex - 在Elasticsearch中使用仅包含一个单词的字符串字段进行通配符搜索

elasticsearch - ElasticSearch服务器的aggs查询中应将数据范围过滤器放在哪里?

lucene - 如何在 elasticsearch 中对结果进行分组?

scala - 如何使用 scala 客户端开始使用 Elastic Search

elasticsearch - 如何在 ElasticSearch 中对数字字段执行全文搜索?

time - 使用 elasticsearch 按营业时间过滤搜索结果

elasticsearch - Elasticsearch 结果不符合预期

elasticsearch - Elasticsearch 的用户界面

elasticsearch - 如何在elasticsearch中将一个索引文档复制到另一索引?

elasticsearch - Elastic search中的离线和在线索引是什么?什么时候需要重新索引?