如何在ElasticSearch 8 java客户端中提供_msearch查询中源字段

s71maibg  于 2023-08-03  发布在  ElasticSearch
关注(0)|答案(1)|浏览(147)

我的ElasticSearch的文档是大尺寸的。我的服务是Java应用程序,它使用ElasticSearch Java客户端版本8。需要在ES上运行_msearch查询。MultisearchBody没有_source字段。在ES本机查询中,我可以通过以下查询完成此操作

{ "query": { "bool": { "must": { "match_all": {} } } }, "size": 10000, "_source": [ "personName" ]}

字符串
无法弄清楚如何在ES-java客户端库版本8中做到这一点?

qoefvg9y

qoefvg9y1#

在elasticsearch-java客户端版本8.2.0中,这是不可用的。在8.8.0版中,这可以通过以下查询来完成:

var response = client.msearch(MsearchRequest.of(ms -> ms.searches(
        List.of(RequestItem.of(ri -> ri
                .header(MultisearchHeader.of(mh -> mh.index("idx_teste")))
                .body(MultisearchBody.of(msb -> msb
                    .query(MatchAllQuery.of(ma -> ma)._toQuery())
                    .source(SourceConfig.of(sc -> sc.filter(f -> f.includes(List.of("personName")))))
                    .size(10000)
                ))
            )
        ))),
        Object.class);

字符串

相关问题