Elasticsearch Java API:如何查询嵌套类型字段
在 Java API 中查询嵌套类型字段,您可以使用'NestedQueryBuilder'类。首先,您需要创建一个'QueryBuilders.nestedQuery'对象,然后将其传递给'SearchSourceBuilder.query'方法。下面是一个示例代码:
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
// 创建nested查询条件
QueryBuilder nestedQuery = QueryBuilders.nestedQuery(
'nestedField', // nested类型字段的名称
QueryBuilders.matchQuery('nestedField.nestedProperty', 'nestedValue'), // 查询条件
ScoreMode.None // 指定计算得分的模式
);
// 设置查询条件
sourceBuilder.query(nestedQuery);
// 执行搜索
SearchRequest searchRequest = new SearchRequest('your_index');
searchRequest.source(sourceBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
在上面的示例中,我们创建了一个'nestedQuery',其中包含了一个匹配查询条件'matchQuery'。您需要根据您的实际需求修改这些查询条件。
请注意,上面的示例中使用的是 Elasticsearch 的高级 REST 客户端。如果您使用的是低级 REST 客户端或其他 Java 库,查询的方式可能会有所不同。
原文地址: https://www.cveoy.top/t/topic/o3VW 著作权归作者所有。请勿转载和采集!