Elasticsearch 高级功能:文档分组、关系建模与脚本编程
一、文档分组与 Top Hits 聚合
1.1 文档分组的需求
在 Elasticsearch 中,文档折叠或分组功能一直是备受期待的特性。当搜索结果数量庞大时,按特定值对文档进行分组展示十分便利,我们可以从每个组中仅返回一个或几个文档。例如,在图书馆数据中,我们可以查询所有关于野生动物的文档并按出版日期排序,同时限制每年仅返回两本书。此外,分组功能在统计和显示字段中的不同值时也非常有用,比如仅返回一本有多个版本的书籍。
1.2 Top Hits 聚合
Top Hits 聚合是 Elasticsearch 1.3 引入的功能,它可以实现文档分组。默认情况下,每个桶会记住三个文档。以下是一个使用 Top Hits 聚合的示例:
curl -XGET "http://127.0.0.1:9200/library/_search?pretty" -d'
{
"size": 0,
"aggs": {
"when": {
"histogram": {
"field": "year",
"interval": 100
},
"aggs": {
"book": {
"top_hits": {
"_source": {
"include": [
"title",
"available"
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



