Elasticsearch的term查询,主要用于实现等值匹配,类似SQL的fieldname=value表达式。
构建term查询
等值匹配
// 方式1
TermQueryBuilder termQueryBuilder = new TermQueryBuilder("order_id", 100);
// 方式2
TermQueryBuilder termQueryBuilder = QueryBuilders.termQuery("order_id", 100);
类似SQL:order_id=100 条件
创建SearchRequest
Java 所有的ES查询请求都是通过SearchRequest对象进行设置,因此需要实例化SearchRequest对象,设置query参数。
SearchRequest searchRequest = new SearchRequest();
// 通过SearchSourceBuilder构建搜索参数
SearchSourceBuilder builder = new SearchSourceBuilder();
// 设置query参数,绑定前面创建的Query对象
builder.query(termQueryBuilder);
// 设置SearchRequest搜索参数
searchRequest.source(builder);
执行请求
// 执行ES请求
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
提示: 如何处理查询结果,请参考 Java ES查询基本写法