替换ElasticSearch Java API客户端中的searchForStream方法

i34xakig  于 2022-12-22  发布在  ElasticSearch
关注(0)|答案(1)|浏览(287)

我正在将一个Java应用程序从ElasticSearch高级客户端迁移到Java API客户端,因为它不再支持“org.springframework.data.elasticsearch.client.erhlc. ElasticsearchRestTemplate”。
我无法找到一个新的方法来搜索流!这里是一个旧的代码片段...

NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder() //
    .withQuery(q) //
    .withPageable(PageRequest.of(0, 1000)); //

NativeSearchQuery searchQuery = builder.build();

Stream<X> list = elasticsearchTemplate.searchForStream(searchQuery, X.class).stream();

我正在使用Sping Boot 3、ElasticSearch8.5.3和Java API 8.5.3...
下面是Gradle依赖关系...

implementation group: 'co.elastic.clients', name: 'elasticsearch-java', version: "8.5.3"
0s0u357o

0s0u357o1#

我花了一段时间才找到它,因为我在官方文档中找不到它,但它取代了deprecated

  • '组织.Spring框架.数据.ElasticSearch.客户端.erhlc.ElasticSearch剩余模板'*

  • '组织.Spring框架.数据.ElasticSearch.客户端.elc.React性ElasticSearch模板'*

关于“searchForStream”,现在搜索可以转换成流...
此外,您还需要将更新的依赖关系包含到gradle/maven中...

api group: 'org.springframework.data', name: 'spring-data-elasticsearch', version: "5.0.0"

相关问题