gpt4 book ai didi

elasticsearch - Elasticsearch:匹配查询返回错误结果(Java API)

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

我有以下问题:执行此命令时

curl -XGET "localhost:9200/customer/external/_search?pretty" -d @json.txt

json.txt如下所示:
{ "query":{ "match":{ "_id":"1" } } }

我得到以下输出(我将其缩短):
{
"hits" : {
"total" : 1,
"max_score" : 1.0,
"hits" : [ {
"_index" : "customer",
"_type" : "external",
"_id" : "1",
"_score" : 1.0,
"_source":{
"name":"Jan",
"age":99,
"address":{
"city":"KKKKKKK",
"zip":"xxxx"
}
}
} ]
}

现在,我尝试使用Java API进行相同的操作,但我只是无法设法完成它(我尝试了8种不同的方法)。我总是得到0次点击。现在,在代码中,我将源文件直接设置为字符串作为源,但是如您所见,我也尝试使用 XContentBuilderWrapperQueryBuilder版本,但没有任何效果。这是我的代码:
public void processQuery(String filePath, String index, String... types) {
String source = convertFileToString(filePath);

//XContentBuilder query = null;
//try {
// JSONObject json = new JSONObject(source.trim());
// query = convertJsonToXContentBuilder(json);
//} catch (...) {...}

//WrapperQueryBuilder query = QueryBuilders.wrapperQuery(source);

SearchResponse response = client.prepareSearch(index)
.setSource(source)
// .setQuery(query)
.setTypes(types)
.get();
}

作为回应,我完全没有得到任何成功:
{
"hits" : {
"total" : 0,
"max_score" : null,
"hits" : [ ]
}
}

我希望有人对此有一个想法,我已经厌倦了试图找到解决方案的方法:/

最好的问候,
一月

最佳答案

希望获得新的“答案”,但我无法编辑我的问题。所以我想通了,但现在不知道该如何进步。当我在 Debug模式下运行时,它可以正常工作(我在JUnit测试中使用了它)。所以我想也许我过早关闭连接,所以我添加了Thread.sleep(5000),但仍然失败。它只能在 Debug模式下工作:/如果重要,我正在使用TransportClient
有点尴尬,但我希望有人能知道原因...
干杯,
一月
编辑:
解决了问题:由于我在单元测试中使用了该函数,并且每次都清空并重新加载DB的内容,因此在执行请求时,该内容尚未准备好。我正在等待状态变为绿色,然后开始测试。

关于elasticsearch - Elasticsearch:匹配查询返回错误结果(Java API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29079000/

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