【发布时间】:2018-11-04 11:57:36
【问题描述】:
我从 java 代码中的 elasticsearch 获取记录,能够使用 elasticsearch _id 获取记录。为此,我使用下面的 java 代码。
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
MatchQueryBuilder matchQueryBuilder = new MatchQueryBuilder("_id", id);
searchSourceBuilder.query(matchQueryBuilder);
searchRequest.source(searchSourceBuilder);
来自 Kibana 的我正在使用以下查询从 elasticsearch 中获取记录,
GET /_search
{
"query": {
"query_string" : {
"default_field" : "*",
"query" : "M*"
}
}
}
现在,我想在 java 中构建这个查询。我不确定如何在 java 中构建这个查询。
【问题讨论】:
-
在您建议使用带有消息正文的 GET 之前。在投入更多时间之前,请先阅读本文stackoverflow.com/questions/978061/http-get-with-request-body
-
除此之外,body 是 JSON 结构。因此,您需要一些构造 JSON 字符串的机制(手动或序列化匹配的 DTO)和提供 HTTP 客户端以发出请求的库(Java 标准库、来自 Apache 的 httpclient、vert.x 等)。最后,这个任务实际上与 kibana 无关:无论您的请求是否从 Kibana 复制一个,您都在查询弹性
标签: java elasticsearch search kibana