Elasticsearch search after分页查询案例分享
1.准备工作
2.编写创建索引表和初始化数据方法
创建索引表和初始化数据的组件DocumentCRUD实现本文不做重点介绍,请访问视频教程了解:
/**
* 创建索引表并导入测试数据
*/
public void initIndiceAndData(){
DocumentCRUD documentCRUD = new DocumentCRUD();
documentCRUD.testCreateIndice();//创建索引表
documentCRUD.testBulkAddDocuments();//导入测试数据
}
3.定义searchAfter dsl配置文件
新建配置文件-esmapper/searchafter.xml
定义searchAfterDSL
#*
以demoId,_uid为searchAfter的分页条件 _uid值格式type#_id 由索引类型加#号加id拼接而成
如果按照多个字段的值做searchAter分页,则用逗号分隔每个值
*#
#if($searchAfterId) ## 第一次检索的时候,没有searchAfterId变量,只有做翻页操作的时候才会传递代表分页起点的searchAfterId变量进来
"search_after": [#[demoId],"demo#[searchAfterId,quoted=false,lpad=#]"],
#end
"size": $pageSize, ##searchAfter分页每页最多显示的记录条数