Elasticsearch 5.0 深分页
2018-03-09 21:34:48
887次阅读
0个评论
Elasticsearch 5.0 新引入的一种分页查询机制search after。它的思想是利用上一页的分页结果来查询下一页的分页请求。
假设请求第一页的请求如下:
GET twitter/tweet/_search
{
"size": 10,
"query": {
"match" : {
"title" : "elasticsearch"
}
},
"sort": [
{"date": "asc"},
{"_id": "desc"}
]
}
注意,这里为了避免sort字段相同值的导致排序不确定,这里增加了 _id 字段。 返回的结果会包含每个文档的sort字段的sort value。这个就是所谓的游标
使用最后一个文档的sort value作为search after请求值,我们就可以这样查询下一页结果了:
GET twitter/tweet/_search
{
"size": 10,
"query": {
"match" : {
"title" : "elasticsearch"
}
},
"search_after": [2465659857, "154765"],
"sort": [
{"date": "asc"},
{"_id": "desc"}
]
}
注意只能顺序的翻页,不能随意跳页。
00
相关话题
- Elasticsearch使用searchAfter深度分页
- MySql分表分页
- Elasticsearch 6.3.0 SQL查询
- Elasticsearch score 评分计算
- elasticsearch清空索引缓存
- Elasticsearch使用索引别名
- Elasticsearch Aggregation聚合统计
- Elasticsearch多字段聚合
- ElasticSearch 6.0 乐观锁
- Elasticsearch 6.0 性能调优
- ElasticSearch 6.0 Bulk批量操作
- ElasticSearch 6.0 搜索结果高亮
- elasticsearch经纬度范围查询
- ElasticSearch6.0配置IK分词插件
- Elasticsearch 不停止服务更新索引别名