ElasticSearch 系列文章
1 ES 入門之一 安裝ElasticSearcha
2 ES 記錄之如何創建一個索引映射
3 ElasticSearch 學習記錄之Text keyword 兩種基本類型區別
4 ES 入門記錄之 match和term查詢的區別
5 ElasticSearch 學習記錄之ES幾種常見的聚合操作
6 ElasticSearch 學習記錄之父子結構的查詢
7 ElasticSearch 學習記錄之ES查詢添加排序字段和使用missing或existing字段查詢
8 ElasticSearch 學習記錄之ES高亮搜索
9 ElasticSearch 學習記錄之ES短語匹配基本用法
10 ElasticSearch 學習記錄之 分布式文檔存儲往ES中存數據和取數據的原理
11 ElasticSearch 學習記錄之集群分片內部原理
12 ElasticSearch 學習記錄之ES如何操作Lucene段
13 ElasticSearch 學習記錄之如任何設計可擴容的索引結構
14 ElasticSearch之 控制相關度原理講解
ES幾種常見的聚合操作
普通聚合
POST /product/_search
{
"size": 0,
"aggs": {
"agg_city": {
"terms": {
"field": "departureCitys" //字段
}
}
}
}
父子結構的索引的聚合
POST product/_search
{
"size": 0,
"aggs": {
"months": {
"children": {
"type": "price"//子類型
},
"aggs": {
"month": {
"terms": {
"field": "months"
}
}
}
}
}
}
雙層嵌套結構索引的聚合查詢
POST /product/_search
{
"size": 0,
"aggs": {
"theme": {
"nested": {
"path": "themes"//嵌套對象
},
"aggs": {
"agg_category": {
"terms": {
"field": "themes.category"//聚合對象
},
"aggs": {
"agg_name": {
"nested": {
"path": "themes.items"//嵌套對象的嵌套對象
},
"aggs": {
"agg_name": {
"terms": {
"field": "themes.items.name",//聚合的對象的路徑
"size": 10
}
}
}
}
}
}
}
}
}
}
嵌套結構索引的聚合查詢
POST /product/_search
{
"size": 0,
"aggs": {
"theme": {
"nested": {
"path": "themes"//嵌套對象
},
"aggs": {
"agg_category": {
"terms": {
"field": "themes.category"//聚合對象
}
}
}
}
}
}