我正在使用Elasticsearch maven jar文件来查询Elasticsearch。但现在我想使用完整生成的查询字符串查询elasticsearch:
查询:
{
"bool" : {
"must" : [ {
"term" : {
"title" : "mercedes"
}
}, {
"term" : {
"Doors" : "2"
}
} ]
}
}
如何使用上述查询字符串在java中查询elasticsearch?
答案 0 :(得分:4)
以下代码准备了一个boolquery。您应该创建一个SearchRequestBuilder
来执行它。
BoolQueryBuilder boolQuery = new BoolQueryBuilder();
boolQuery.must(QueryBuilders.termQuery("title", "mercedes"));
boolQuery.must(QueryBuilders.termQuery("Doors", "2"));
如果您想将查询用作字符串而不在代码中构建它,则可以使用以下内容;
String myQuery = "Your Query Here";
SearchSourceBuilder ssb= new SearchSourceBuilder();
search.query(myQuery);
SearchRequestBuilder srb; // You should define srb before next steps
srb.internalBuilder(ssb);
SearchResponse response = srb.execute().actionGet();
答案 1 :(得分:1)
我使用以下代码使用JSON字符串查询Elasticsearch。
read userInput
echo ${userInput} | tr '[:upper:]' '[:lower:]'