开发者学堂课程【ElasticSearch 最新快速入门教程:wildcardQuery】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/642/detail/10657
wildcardQuery
内容介绍
一、 ES JavaAPI wildcardQuery
二、 案例实操
一、 ES JavaAPI wildcardQuery
*表示匹配多个字符
?表示匹配1个字符
注意:
避免*开始,因为会检索大量内容造成效率缓慢
searchResponse searchResponse=client.prepareSearch(“blog2”).setTypes(“article”)
.setQuery(QueryBuilders.wildcardQuery(“content”,“elas*c?”)).get();
SearchHits hits=searchResponse.getHits();//获取命中次数,查询结果有多少对象
二、 案例实操
(1) wildcardQuery 演示
需求:使用 wildcardQuery,查询索引库之 bigdata 下的 type 之 product 下 name 字段值中包含有 m 的所有索引信息。
@Test
public void testWildcardQuery(){
//查询
SearchResponse response=client.prepareSearch(INDEX)
.setTypes(TYPE)
.setQuery(QueryBuilders.regexpQuery(name:“name”,query:“f*m?”))
.get();
//显示检索到的信息
SearchHits hits = response.getHits();
for(SearchHits hit:hits){
System.out.println(hit.getSourceAsString());
}
运行结果
“C:\Program Files\Java\jdk1.8.0_131\bin\java.exe”…
前端处理操作,用于进行全局的初始化…
{“author”:“舍我其谁”,“last_version”:“3.0.0”,“name”:“Flume”}
后处理操作,用于进行资源的释放…
(1) 例2:
需求:使用 wildcardQuery,查询索引库之 bigdata下的 type 之 product 下 name 字段值中首字母为 s 的所有索引信息。
@Test
public void testWildcardQuery(){
//查询
SearchResponse response=client.prepareSearch(INDEX)
.setTypes(TYPE)
.setQuery(QueryBuilders.regexpQuery(name:“name”,query:“s*”))
.get();
//显示检索到的信息
SearchHits hits = response.getHits();
for(SearchHits hit:hits){
System.out.println(hit.getSourceAsString());
}
运行结果
“C:\Program Files\Java\jdk1.8.0_131\bin\java.exe”…
前端处理操作,用于进行全局的初始化…
{“name”:“storm”,“author”:“睥睨天下”,“version”:“2.4.6”}
{“author”:“杰克逊”,“last_version”:“2.1.0”,“name”:“sqoop”}
{“name”:“Spark”,“author”:“楚留香”,“last_version”:“2.3.4”}
后处理操作,用于进行资源的释放…
(2) 数据库附图
