最近项目准备基于x-pack用Sql语句操作Es,本来以为一切顺利,最后发现没有办法实现分页,就是Limit后只能跟一个数字,表示取前X条记录,用 Limit 0 ,10 的话就会报错。想来是Xpack不支持这种语法。目前想到的解决方案有两个
1.手动实现Es的Jdbc驱动,自己解析Sql。
2.修改Xpack代码,使之能用。
两种都很麻烦,都没有大佬能指一条路。
标签:
最近项目准备基于x-pack用Sql语句操作Es,本来以为一切顺利,最后发现没有办法实现分页,就是Limit后只能跟一个数字,表示取前X条记录,用 Limit 0 ,10 的话就会报错。想来是Xpack不支持这种语法。目前想到的解决方案有两个
1.手动实现Es的Jdbc驱动,自己解析Sql。
2.修改Xpack代码,使之能用。
两种都很麻烦,都没有大佬能指一条路。
如果某个字段值是连续递增的,比如主键,sql 可以改成where xx>上一页最大值 limit n 这种模式,也能实现,具体看你的排序规则