一尘不染

Elasticsearch插件对文档进行分类

elasticsearch

是否有Elasticsearch插件可以让我对输入索引的文档进行分类?

对我而言,最好的解决方案是对所有最经常出现的术语(/概念)进行分类,以一种用户可以浏览的标签云显示。

有没有办法做到这一点?有什么建议?

谢谢


阅读 312

收藏
2020-06-22

共1个答案

一尘不染

基本思想是使用terms聚合,每项将产生一个存储桶。

POST /_search
{
    "aggs" : {
        "genres" : {
            "terms" : { "field" : "genre" }
        }
    }
}

您将获得的响应将通过减少术语出现次数来排序:

{
    ...

    "aggregations" : {
        "genres" : {
            "doc_count_error_upper_bound": 0, 
            "sum_other_doc_count": 0, 
            "buckets" : [ 
                {
                    "key" : "jazz",
                    "doc_count" : 10
                },
                {
                    "key" : "rock",
                    "doc_count" : 5
                },
                {
                    "key" : "electronic",
                    "doc_count" : 2
                },
            ]
        }
    }
}

如果您正在使用Kibana,则可以基于这些术语直接创建标签云可视化。

2020-06-22