[英]How to do pagination (from, size) with elastic search aggregation query in nodejs
我目前有一个 API 将用户使用日志返回到前端,但数据太大,所以我需要分页。 我无法在弹性搜索聚合查询中进行分页。 目前使用此代码
const result = await esClient.search({
index: 'user-logs',
body: {
size: 0,
query: {
bool: {
filter: [
{
range: {
timestamp: {
gte: 1596804771643,
lte: 1596904771643,
format: 'epoch_millis'
}
}
},
{
query_string: {
analyze_wildcard: true,
query: `*`
}
}
]
}
},
aggs: {
3: {
terms: {
field: 'email.keyword',
size: 10,
order: {
_term: 'desc'
},
min_doc_count: 1
},
aggs: {
4: {
terms: {
field: 'mobile.keyword',
order: {
_term: 'desc'
},
min_doc_count: 1
},
aggs: {
5: {
terms: {
field: 'fullName.keyword',
order: {
_term: 'desc'
},
min_doc_count: 1
},
aggs: {
6: {
terms: {
field: 'branchName.keyword',
order: {
_term: 'desc'
},
min_doc_count: 1
},
aggs: {
1: {
sum: {
field: 'timespent'
}
}
}
}
}
}
}
}
}
}
}
}
});
在简单查询中,我使用“from”和“size”,但在聚合查询的情况下,它们不起作用。 我是弹性搜索的新手。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.