Elasticsearch-Java API操作(二)条件查询QueryBuilder(4)【词条查询(TermQuery)】
Posted on 2020-08-17 08:14 MissRong 阅读(1125) 评论(0) 收藏 举报大数据技术之Elasticsearch-Java API操作(二)条件查询QueryBuilder
词条查询(TermQuery)
1)源代码
|
@Test public void termQuery() {
// 1 第一field查询 SearchResponse searchResponse = client.prepareSearch("blog").setTypes("article") .setQuery(QueryBuilders.termQuery("content", "全文")).get();
// 2 打印查询结果 SearchHits hits = searchResponse.getHits(); // 获取命中次数,查询结果有多少对象 System.out.println("查询结果有:" + hits.getTotalHits() + "条");
for (SearchHit hit : hits) {
// 3 关闭连接 client.close(); } |
2)结果查看

****自己操作****
Java代码:
// 十一、词条查询-TermQuery
// 注意:需要加入分词器,不然容易搜不到匹配的词
@Test
public void termQuery() {
// 类似于MySQL中的=
// 注意:这个=不是真正的=,它不是与字段等于,而是和字段的分词结果等于。
SearchResponse searchResponse = client.prepareSearch("blog").setTypes("article")
.setQuery(QueryBuilders.termQuery("content", "web")).get();
SearchHits hits = searchResponse.getHits();
System.out.println("查询结果有:" + hits.getTotalHits() + " 条");
for (SearchHit searchHits : hits) {
System.out.println(searchHits.getSourceAsString());
}
client.close();
}
结果:
查询结果有:4 条
{"id":5,"title":"基于Lucene的搜索服务器","content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口"}
{"id":"1","title":"基于Lucene的搜索服务器","content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口"}
{"id":3,"title":"基于Lucene的搜索服务器","content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口"}
{"id":"2","title":"基于Lucene的搜索服务器","content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。大数据前景无限","createDate":"2017-8-22"}
浙公网安备 33010602011771号