Query query = new NativeSearchQueryBuilder()我的文档在 Elastic Search 映射中既是父文档又是子文档。由于子项经常更新,因此选择了这种连接而不是嵌套文档。 我现在想找到每一位有孩子和没有父母的父母。
HasChildQueryBuilder hQuery = QueryBuilders
.hasChildQuery("instance", QueryBuilders
.hasChildQuery("instance_permission", terms));
我在互联网上发现了这个,但它似乎已经改变并且不再有效。
Query query = new NativeSearchQueryBuilder()
.withQuery(QueryBuilders.boolQuery().
must.(QueryBuilders.matchQuery("relation_type", "parent))
must. **** // parents that has children query ****
.build();
有人可以帮我完成这个查询吗?
这有效 // JoinQueryBuilders.hasChildQuery
Query query = new NativeSearchQueryBuilder()
.withQuery(QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("relation_type", "parent"))
.must(JoinQueryBuilders.hasChildQuery("child", QueryBuilders.matchAllQuery(), ScoreMode.None)))
.withPageable(pageRequest)
.build();
SearchHits<Asset> searchHits = elasticsearchRestTemplate.search(query, Asset.class);