开发者学堂课程【ElasticSearch 入门精讲:fuzzyQuery】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/631/detail/10005
fuzzyQuery
内容介绍:
一、描述
二、演示
一、描述
fuzzy 查询是模糊查询中的第三种类型,它基于编辑距离算法来匹配文档SearchResponsesearchResponse= client.prepareSearch(“blog2”).setTyp
es(“article”)
.setQuery(QueryBuilders.fuzzyQuery(“content”, “elasticsearxx
”)).get();
SearchHits hits = searchResponse.getHits();获取命中次数,查询结果有多少对象
二、演示
演示:
在 TestES.java 输入
/**
*测试 fuzzyQuery (模糊查询)
*查询:查询索引库 bigdata 中的 type 之 product 中,name 值中包含 oo 的索引信息
*/
@Test
public void testFuzzyQuery(){
//查询
SearchResponsesearchResponse= client.prepareSearch(INDEX)
.setTypes(TYPE)
.setQuery(QueryBuilders.fuzzyQuery(name: “name”, value:“sqoox”))
.get();
//显示检索到的信息
SearchHits hits = searchResponse.getHits();
for(SearchHit hit : hits) {
System.out.println(hit.getSourceAsString());
}
}
运行结果
{“author”: “杰克逊”, “last_version”: “2.1.0”,“name”: “sqoop”, }
再来试着查询 hadoop
修改代码
.etQuery(QueryBuilders.fuzzyQuery(name: “name”, value:“hadoxx”))
运行成功可以查询到,
显示为 {“author”:
“施瓦辛格”, “name”: “hadoop”, “version”: “3.1.2”}