我们将springboot与springdata和elasticsearch一起使用。我们有一个带有定义方法的ElasticsearchRepository接口。
例如
List<Location> findByCityCode(String cityCode, Pageable pageable);
现在,我们要“滚动”抛出结果。因此,我们使用NativeSearchQueryBuilder和ElasticsearchTemplate。
例如
NativeSearchQuery matchAll = new NativeSearchQueryBuilder()
.withIndices("locations")
.withQuery(matchAllQuery())
.withPageable(PageRequest.of(0,10000))
.build();
ScrolledPage<Location> scrolledResult =
(ScrolledPage<Location>) elasticsearchTemplate.startScroll(1000L, matchAll, Location.class);
是否可以使用第二个代码中的查询接口使用该方法,还是必须使用querybuilder“重写”所有查询?