开发者学堂课程【ElasticSearch 最新快速入门教程:TermQuery】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/642/detail/10656
TermQuery
内容介绍
一、 ES JavaAPI_termQuery
二、 案例实操
一、 ES JavaAPI regexpQuery
词条查询是 Elasticsearch 中的一个简单查询。它仅匹配在给定字段中含有该词条的文档,而且是确切的、未经分析的词条
(1) termQuery
termQuery(“key”,obj)完全匹配
termQuery(“key”,obj1,obj2…)一次匹配多个值,只要有一个值是正确的,就可以查询出数据
例1:包含“搜索”的内容检索
// searchResponse searchResponse=client.prepareSearch(“blog2”).setTypes(“article”)
// .setQuery(QueryBuilders.termQuery(“content”,“搜索”)).get();
例2:包含“搜索”和“全文”的内容检索
searchResponse searchResponse=client.prepareSearch(“blog2”).setTypes(“article”)
.setQuery(QueryBuilders.termQuery(“content”,“搜索”,“全文”)).get();
SearchHits hits=searchResponse.getHits();//获取命中次数,查询结果有多少对象
二、 案例实操
(1) 词条检索之 termQuery
需求:使用 termQuery,查询出author中包含有“天”,且包含有“下”的索引信息。
@Test
public void testTermQuery(){
//查询
SearchResponse response=client.prepareSearch(INDEX)
.setTypes(TYPE)
.setQuery(QueryBuilders.termsQuery(name:“author”,…values:“天”,“下”))
.get();
运行结果
“C:\Program Files\Java\jdk1.8.0_131\bin\java.exe”…
前端处理操作,用于进行全局的初始化…
{“name”:“storm”,“author”:“睥睨天下”,“version”:“2.4.6”}
后处理操作,用于进行资源的释放…
注:
若要单独查询“天下”,则需要安装分词插件,因为西方的习惯不认为“天下”是一个词,只有单独一个字才能算一个词。
(2) 数据库附图
