是否可以在搜索词的术语聚合查询中使用分页?
我需要对以下查询的结果进行分页,我找不到任何解决方案?
{
"sort": [{
"create_date": {
"order": "desc"
}
}],
"query": {
"bool": {
"must": []
}
},
"aggs": {
"genres": {
"terms": {
"field": "mentions.keyword",
"include": "insta.*"
}
}
}
}
您可以使用
size
和from
告诉引擎每次返回下一页时返回该范围内的文档。在你的服务设计中有两个变量,无论谁调用服务,也应该传递两个变量值(基本上是文档来源和限制(
{
"from": from,
"size": limit,
"sort": [{
"create_date": {
"order": "desc"
}
}],
"query": {
"bool": {
"must": []
}
},
"aggs": {
"genres": {
"terms": {
"field": "mentions.keyword",
"include": "insta.*"
}
}
}
}
例如,如果您通过服务公开此查询mysearch
则像这样调用该服务
mysearch?searchTerm=theWord&from=0&limit=15
在下一次调用中,您执行相同的操作,但具有不同的from
和limit
值
mysearch?searchTerm=theWord&from=16&limit=15
如果这些信息还不够,请发布一些示例文档来玩
如果您尝试在术语聚合中获取文档,则可以使用以下两个选项之一
-
在聚合方面,您可以使用分区对数据进行分页。在此处参考文档
-
您可以使用复合聚合 。在复合聚合中,只能使用 after 键按顺序访问数据。您将无法跳转页面。