在Java API中查询Nested类型字段,您可以使用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库,查询的方式可能会有所不同

es nested类型使用java api查询

原文地址: https://www.cveoy.top/t/topic/hBaO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录