man*_*anu 6 aggregate elasticsearch
我使用以下简单查询来搜索我的弹性索引中的文档:
{
"query": { "query_string": { "query": "*test*" } },
"aggregations": {
"myaggregation": {
"terms": { "field": "myField.raw", "size": 0 }
}
}
}
Run Code Online (Sandbox Code Playgroud)
这将返回每个不同值的文档数myField.raw.
由于我对所有实际文档感兴趣而不是总数,我尝试添加以下top_hits子聚合:
{
"query": { "query_string": { "query": "*test*" } },
"aggregations": {
"myaggregation": {
"terms": { "field": "myField.raw", "size": 0 },
"aggregations": {
"hits": {
"top_hits": { "size": 2000000 }
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这种丑陋的top_hits作品使用,但是很慢.
在进行term聚合后,有没有正确的方法来获取每个桶的实际文档?
您是否考虑过使用collapseon field?
它返回分组在inner_hits(hits.hits[].inner_hits.<collapse-group-name>.hits.hits[]._source)下的文档
请参阅 - https://www.elastic.co/guide/en/elasticsearch/reference/6.8/search-request-collapse.html
| 归档时间: |
|
| 查看次数: |
5032 次 |
| 最近记录: |