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”}

相关文章
|
运维 Kubernetes Java
nacos常见问题之nacos的内存太高如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
|
Java Go Nacos
Spring Cloud Alibaba Nacos配置导入问题解决方案
Spring Cloud Alibaba Nacos配置导入问题解决方案
2391 0
Java中的异常链:从根源到解决方案
Java中的异常链:从根源到解决方案
|
8月前
|
存储 弹性计算 数据管理
阿里云对象存储oss怎么收费?存储费用+流量收费标准
阿里云对象存储OSS收费标准包含存储费、流量费及请求费等,支持按量付费与包年包月两种模式。标准型本地冗余存储按量付费价格为0.09元/GB/月,包年包月500GB预留空间优惠价118元/年。流量费仅收取公网出方向费用,忙时0.50元/GB,闲时0.25元/GB。更多详情可参考官方页面。
1734 91
|
算法 API 计算机视觉
图像处理之角点检测与亚像素角点定位
图像处理之角点检测与亚像素角点定位
302 1
|
IDE 程序员 开发工具
IDEA插件-Mario Progress Bar马里奥进度条
"Mario Progress Bar"是一款适用于JetBrains IntelliJ IDEA等IDE的插件,它基于Dmitry Batkovitch开发的Nyan Progress Bar。该插件会将进度条样式变成马里奥游戏中的角色。基本的进度条显示为带有一些砖块的马里奥形象,而不确定状态的进度条显示为一个乌龟壳。一旦安装完成,您可以在IDE的设置中找到插件的配置选项(Settings > Tools > Mario Progress Bar),在此处选择您喜欢的角色形象。
906 0
IDEA插件-Mario Progress Bar马里奥进度条
|
JavaScript 前端开发
Vue组件生命周期深度剖析:从创建到销毁的八大钩子实战指南
Vue组件生命周期深度剖析:从创建到销毁的八大钩子实战指南
SpringCloud Feign报错:java.lang.IllegalStateException: Method has too many Body parameters
SpringCloud Feign报错:java.lang.IllegalStateException: Method has too many Body parameters
469 0
|
机器学习/深度学习 自然语言处理 搜索推荐
探索文本向量化的新高峰:合合信息acge_text_embedding 模型原创
文本向量化方法包括词袋模型、TF-IDF、词嵌入和预训练模型(如BERT、GPT)。词嵌入如Word2Vec、GloVe和FastText捕捉单词语义,预训练模型则保留上下文信息。C-MTEB是中文文本嵌入评估平台,测试模型在检索、相似性、分类等任务的性能。合合信息的acge_text_embedding模型在C-MTEB中表现优秀,适用于情感分析、文本生成等任务,具有高分类聚类准确性、资源效率和场景适应性。技术突破涉及数据集优化、模型训练策略和持续学习,提供Demo展示如何使用acge模型计算句子相似度。acge_text_embedding是提升文本处理效率和智能化的有力工具。
1615 2
探索文本向量化的新高峰:合合信息acge_text_embedding 模型原创