将ElasticsearchRepository方法“转换”为NativeSearchQuery

时间:2018-07-16 07:42:05

标签: java spring-boot elasticsearch spring-data

我们将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“重写”所有查询?

0 个答案:

没有答案