SpringData Elasticsearch 方法名查询默认查询10条的问题

使用方法名来构建查询,曾经一直使用的好好的,突然有发现查询出来的记录不符合了。怎么查询也只有10条匹配,突然想到可能ES查询引擎本身的限制,一查果然是。

https://knowledgebase.progress.com/articles/Article/ElasticSearch-returns-only-the-first-10-results

https://www.elastic.co/guide/en/elasticsearch/reference/6.3/search-request-from-size.html

意思说,如果不指定size,那么ES默认返回不超过10条数据,当指定SIZE时,最多也只能返回10000条数据。而看我构造的查询方法:

List<DecorationPageModule> findByPageKeyAndIfTempAndPlatformIdAndPositionGreaterThanEqual(String pageKey, String ifTemp, Integer platformId, Integer position, Pageable pageable);

当没有加红色部分时(旧代码),获得的查询语句没有生成SIZE参数,导致了默认10条返回的情况,而加上翻页后,指定100条数据,就不会发生这样的情况了

我也曾试图从参数调整的方式看看能否解决,但是除了最大数的限制可以通过index.max_rescore_window来调整,默认的最小10条似乎没有找到办法,只能在查询时,注意用分页参数来指定了。

这也是和数据库查询不一致的地方需要格外注意。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值