- 创建索引
PUT ellis
{
"mappings": {
"properties": {
"test":
{
"type": "nested"
}
}
}
}
- 插入数据
PUT ellis/_doc/1
{
"test":{
"a":"a1",
"b":"b1"
}
}
PUT ellis/_doc/2
{
"test":{
"a":"a1",
"b":"b2"
}
}
PUT ellis/_doc/3
{
"test":{
"a":"a3",
"b":"b2"
}
}
- 对test 的a字段取唯一值
GET ellis/_search
{
"aggs": {
"Nesting": {
"nested": {
"path": "test"
},
"aggs": {
"NAME": {
"terms": {
"field": "test.a.keyword"
}
}
}
}
},
"size": 0
}
- composite
GET ellis/_search
{
"aggs": {
"Nesting": {
"nested": {
"path": "test"
},
"aggs": {
"yourname":
{
"composite": {
"sources": [
{
"a": {
"terms": {
"field": "test.a.keyword"
}
}
}
]
, "size": 1,
"after": {
"a":"a1"
}
}
}
}
}
},
"size": 0
}
- 多键组合求唯一值
GET ellis/_search
{
"aggs": {
"Nesting": {
"nested": {
"path": "test"
},
"aggs": {
"yourname":
{
"composite": {
"sources": [
{
"a": {
"terms": {
"field": "test.a.keyword"
}
}
},
{
"b": {
"terms": {
"field": "test.b.keyword"
}
}
}
]
, "size": 10
}
}
}
}
},
"size": 0
}
https://stackoverflow.com/questions/34043808/terms-aggregation-for-nested-field-in-elastic-search
https://stackoverflow.com/questions/48995464/elasticsearch-composite-aggs-with-nested-object