我有一个包含数千个文档的索引,每个文档都有一个全文字段。
我想搜索所有这些字段并获取最常出现的 10 个最常见的单词。
如果可能的话,我还想要一种在 Kibana 上可视化它的方法。
实现此目的的最常见方法是使用keyword datatype
。这将使你能够terms aggregation
在那片土地上——doc here https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html。也许你可以考虑做一个significant term aggregation
- doc here https://www.elastic.co/guide/en/elasticsearch/reference/master/search-aggregations-bucket-significantterms-aggregation.html,从而避免出现停用词和常用词。在 ES 6.x 中你也可以使用significant text aggregation
- doc here https://www.elastic.co/guide/en/elasticsearch/reference/master/search-aggregations-bucket-significanttext-aggregation.html,无需创建keyword
领域,但我从未尝试过,我不知道它是如何工作的。相反,如果您需要检索每个文档的单词频率,您应该使用termvector
- doc here https://www.elastic.co/guide/en/elasticsearch/reference/6.2/docs-termvectors.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)