【发布时间】:2017-08-18 22:19:39
【问题描述】:
我正在使用以下 elasticsearch 查询来获取详细信息,
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"bool": {
"should": [
{"match": {
"val": "GET"
}}]
}
}
}
}
}
它工作正常并根据需要给出结果。
我想通过java执行相同的查询并得到相同的结果并尝试了以下,
getClient().prepareSearch(esIndex)
.setQuery(QueryBuilders.queryStringQuery(QUERY)).execute().actionGet();
它没有返回数据并抛出一些查询格式错误的异常。
是否有任何可用的 Java API 可以用来执行相同的查询?
注意:可以在 java api 中创建 boolquery 和聚合构建器并执行它们。我只是很好奇找到一种方法来直接通过 elasticsearch java api 执行这个查询
【问题讨论】:
-
嗯。你不认为你给你的Java代码的那个查询的内容会很重要吗?特别是考虑到 java 告诉您该查询的格式不正确这一事实?那么...为什么您的问题中缺少该部分?
-
我已经通过了相同的查询,该查询通过 HTTP POST 运行良好。
-
您正在使用查询字符串常量。并且您声称该字符串中写入的内容。而不是仅仅向我们展示代码。
-
你用的是哪个版本的es?
标签: java elasticsearch elasticsearch-dsl