【发布时间】:2015-08-14 16:42:10
【问题描述】:
有没有办法在我的数据子集中获取字段的语料库大小?换句话说,我想统计某个领域的所有单词。单词在文档中,满足查询条件。
此信息由术语向量提供。术语向量可以应用于特定文档,但不能应用于多个文档。 Multi-term vectors 允许指定文档 ID 列表以检索每个文档中每个术语的每个术语向量统计信息。不幸的是它们没有聚合,我必须自己聚合它们。
是否有更灵活的方式来实现聚合词条统计?我可以使用groovy scripts 来聚合词向量吗?
解决方案:
@Val,感谢您的解决方案。带有my_int_value=1 的所有文档的查询如下所示:
GET /index/type/_search?search_type=count
{
"query": {
"filtered": {
"filter": {
"term": {
"my_int_value": 1
}
}
}
},
"aggs" : {
"counting" : {
"sum" : {
"field" : "your_field.word_count"
}
}
}
}
【问题讨论】:
-
如果您只需要在一个字段中不同的词,您可以使用Cardinality Aggregation 来近似这个数字。
标签: elasticsearch