是否有Elasticsearch插件可以让我对输入索引的文档进行分类?
对我而言,最好的解决方案是对所有最经常出现的术语(/概念)进行分类,以一种用户可以浏览的标签云显示。
有没有办法做到这一点?有什么建议?
谢谢
基本思想是使用terms聚合,每项将产生一个存储桶。
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,则可以基于这些术语直接创建标签云可视化。