我是开放搜索的新手。
我正在努力利用 OpenSearch 的 Java SDK。
我知道这包含两个供客户端使用的 java 类:
OpenSearchClientRestHighLevelClient
我知道RestHighLevelClient在elasticsearch 7.x 中已弃用,并且驼峰式和蛇形式之间的转换是不可能的。
因此,在使用 时OpenSearchClient,我发现 的包装器查询不存在OpenSearchClient。
所以,我想问的是:
如何使用 进行包装查询OpenSearchClient?
当前的逻辑RestHighLevelClient是:
String query = "{\"term\":{\"name.keyword\":{\"value\":\"bob\"}}}"
BoolQueryBuilder queryBuilder = new BoolQueryBuilder()
.must(new WrapperQueryBuilder(query));
RestClientBuilder builder = getRestClientBuilder();
SearchResponse searchResponse;
try (RestHighLevelClient highLevelClient = new RestHighLevelClient(builder)) {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder()
.query(queryBuilder).from(0).size(10);
SearchRequest searchRequest = Requests.searchRequest("my_index")
.source(searchSourceBuilder);
searchResponse = highLevelClient.search(searchRequest, RequestOptions.DEFAULT);
}
Run Code Online (Sandbox Code Playgroud)
感谢您分享您的知识。