gpt4 book ai didi

java - 如何在 Jest 中使用 MultiSearch API 执行请求?

转载 作者:行者123 更新时间:2023-12-02 12:12:36 25 4
gpt4 key购买 nike

我需要使用 MultiSearch API 从 Jest 发出一些请求。我尝试构建这样的搜索请求:

搜索 search = new Search.Builder(query).addIndex(index).addType(type).build();

然后,我将所有这些请求添加到一个集合中,以构建 MultiSearch 并获取结果,如下所示:

List<Search> ms = new ArrayList<Search>();
for (#iterate over#) {
ms.add(search())
//Adding the searches queries to the List
}
MultiSearch multi = new MultiSearch.Builder(ms).build();
MultiSearchResult multir = client.execute(multi);

但是这会从elasticsearch返回这个错误:

{
"error": {
"caused_by": {
"reason": "Unexpected end-of-input: expected close marker for Object (start marker at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@2ccf4bb6; line: 1, column: 1])\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@2ccf4bb6; line: 2, column: 3]",
"type": "json_e_o_f_exception"
},
"reason": "Exception when parsing search request",
"root_cause": [
{
"reason": "Exception when parsing search request",
"type": "parse_exception"
}
],
"type": "parse_exception"
},
"status": 400
}

所以我的问题是,如何使用 jest 执行 MultiSearch 请求?

最佳答案

好吧,经过测试,我找到了解决方案:

Search search = new Search.Builder(query.toString().replaceAll("\\n|\\r", "")).addIndex(es_index_data)
.addType(es_type_data).build();

关于java - 如何在 Jest 中使用 MultiSearch API 执行请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46426709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com