wildcardQuery | 学习笔记

简介: 快速学习 wildcardQuery

开发者学堂课程【ElasticSearch 入门精讲wildcardQuery学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/631/detail/10009


wildcardQuery


内容介绍:

一、前言

二、演示


一、前言

* 匹配多个字符,? 匹配1个字符

注意:

避免 * 开始,会检索大量内容造成效率缓慢SearchResponsesearchResponse= client.prepareSearch("blog2").setTyp

es("article")

.setQuery(QueryBuilders.wildcardQuery("content", "elas*c?")).

get();

SearchHits hits = searchResponse.getHits();//获取命中次数,查询结果有多少对象


二、演示

在 TestES.java 中输入

/**

*wildcardQuery 演示

*需求:

使用 wildcardQuery,查询出 name 中包含有 m 的所有索引信息

*/

@Test

public void testWildcardQuery(){

//查询

SearchResponse response = client.prepareSearch(INDEX)

.setTypes(TYPE).setQuery(QueryBuilders.wildcardQuery(name:"name",query:"F*m?"))

.get();

//显示检索到的信息

SearchHits hits = response.getHits();

for (SearchHit hit : hits) {

System.out.println(hit.getSourceAsString());

}

}

运行结果显示

查询不到

修改 .setQuery(QueryBuilders.wildcardQuery(name:"name",query:"f*m?"))

运行结果显示

{“author”: “舍我其谁”, “last_version”: “3.0.0”, “name”: “Flume”}

因为通配符默认匹配小写字符,大写 F 匹配不到,要写为小写就能匹配到

如果想查询以 s 开头的呢?

image.png

注释掉代码//.setQuery(QueryBuilders.wildcardQuery(name:"name",query:"f*m?"))

输入

.setQuery(QueryBuilders.wildcardQuery(name:"name",query:"s*"))

运行结果显示

{“name”: “storm”, “author”: “睥睨天下”,“version”: “2.4.6”}

{“author”: “杰克逊”, “last_version”: “2.1.0”, “name”: “sqoop”}

{“name”: “Spark”, “author”: “楚留香”, “last_version”: “2.3.4”}

相关文章
|
NoSQL MongoDB 开发者
故障测试2|学习笔记
快速学习故障测试2
109 0
故障测试2|学习笔记
|
NoSQL MongoDB 开发者
故障测试_1|学习笔记
快速学习故障测试_1
127 0
故障测试_1|学习笔记
|
数据可视化 Java 开发工具
超详细的vimtutor学习笔记(中)
第一讲 编辑 1.1 移动光标 使用 h、j、k、l 键可以使光标实现左、下、上、右的移动。 也可以使用 ↑ ↓ ← → 进行上下左右的移动。
106 0
|
机器学习/深度学习 算法 数据挖掘
总结与回顾| 学习笔记
快速学习总结与回顾。
总结与回顾| 学习笔记
|
人工智能 开发者
特征空间与应用 | 学习笔记
快速学习特征空间与应用
153 0
特征空间与应用 | 学习笔记
|
分布式计算 算法 Hadoop
fuzzyQuery | 学习笔记
快速学习 fuzzyQuery
151 0
fuzzyQuery | 学习笔记
|
C++ 开发者 Python
|
机器学习/深度学习 算法 数据处理
总结与练习|学习笔记
快速学习总结与练习。
148 0
|
Java 开发者
接口标准|学习笔记
快速学习接口标准
103 0
接口标准|学习笔记
|
XML vlayout Java
vlayout学习笔记
关于阿里android的UI框架 vlayout的学习笔记
vlayout学习笔记