ES DSL搜索 - prefix、fuzzy和wildcard
1 介绍
主要介绍索引请求的基础API操作,使用postman进行请求,接口请求的前缀地址统一为elasticsearch 部署IP地址+端口号(例如 http://192.168.51.4:9200 。
统一请求地址:
POST /search_demo/_doc/_search
2 prefix
prefix
根据前缀去查询,如下示例:
传递JSON数据
{"query": {"prefix": {"desc": "every"}}
}
请求结果
{"took": 11,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 1,"relation": "eq"},"max_score": 1.0,"hits": [{"_index": "search_demo","_type": "_doc","_id": "1010","_score": 1.0,"_source": {"id": 1010,"age": 30,"username": "cc","nickname": "cc","money": 100.8,"desc": " i cc you everyday","sex": 1,"birthday": "1988-07-14","face": "http://www.p2pi.cn/static/img/1010_face.png"}}]}
}
3 fuzzy
fuzzy
模糊搜索,并不是指的SQL的模糊搜索,而是用户在进行搜索的时候打字错误现象,搜索引擎会自动纠正,然后尝试匹配索引库中的数据。
官方地址:
https://www.elastic.co/guide/en/elasticsearch/guide/current/fuzzy-match-query.html
传递JSON数据
{"query": {"multi_match": {"fields": ["desc","nickname"],"query": "yuo everyady","fuzziness": "AUTO"}}
}
请求结果
{"took": 35,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 1,"relation": "eq"},"max_score": 4.5765147,"hits": [{"_index": "search_demo","_type": "_doc","_id": "1010","_score": 4.5765147,"_source": {"id": 1010,"age": 30,"username": "cc","nickname": "cc","money": 100.8,"desc": " i cc you everyday","sex": 1,"birthday": "1988-07-14","face": "http://www.p2pi.cn/static/img/1010_face.png"}}]}
}
自动纠正数据,还是可以查询到指定的信息的。
4 wildcard
占位符查询。
- ? :1个字符
- *: 1个或者多个字符
官网地址:
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html
传递JSON数据
{"query": {"wildcard": {"desc": "好*"}}
}
请求结果
{"took": 4,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 3,"relation": "eq"},"max_score": 1.0,"hits": [{"_index": "search_demo","_type": "_doc","_id": "1011","_score": 1.0,"_source": {"id": 1011,"age": 31,"username": "petter","nickname": "皮特","money": 180.8,"desc": "皮特的姓氏好像是彼得","sex": 1,"birthday": "1989-08-14","face": "http://www.p2pi.cn/static/img/1011_face.png"}},{"_index": "search_demo","_type": "_doc","_id": "1005","_score": 1.0,"_source": {"id": 1005,"age": 25,"username": "switch","nickname": "switch游戏机","money": 155.8,"desc": "好的游戏,才会有人购买,比如塞尔达","sex": 1,"birthday": "1989-03-14","face": "http://www.p2pi.cn/static/img/1005_face.png"}},{"_index": "search_demo","_type": "_doc","_id": "1004","_score": 1.0,"_source": {"id": 1004,"age": 22,"username": "redHat","nickname": "红帽子","money": 55.8,"desc": "好的系统必须拥有稳定的系统结构","sex": 0,"birthday": "1988-02-14","face": "http://www.p2pi.cn/static/img/1004_face.png"}}]}
}
5 相关信息
- 博文不易,辛苦各位猿友点个关注和赞,感谢
ES DSL搜索 - prefix、fuzzy和wildcard相关推荐
- Elasticsearch实战(十一)---前缀模糊匹配搜索 prefix search
Elasticsearch实战- 前缀模糊匹配搜索 prefix/wildcard/regexp search 文章目录 Elasticsearch实战- 前缀模糊匹配搜索 prefix/wildca ...
- es相同条件搜索多次返回结果不一样
1. 背景介绍 业务方发现他们配置的数据源会返回重复数据,主要体现为在翻页的时候上一页的最后一个数据和下一页的第一条数据一模一样, 场景和分页问题极其相似 2. 分析过程 我最开始碰到这个bug的时候 ...
- Elasticsearch(038):es中搜索之入门与分页搜索
ES中搜索的方式分为两种,一种是通过URL参数进行搜索:另一种是通过POST中body请求参数进行搜索. 针对第一种我们进行简单的讲解,我们关注的核心放在第二种上面. 一.简单搜索(search) 1 ...
- #研发解决方案介绍#基于ES的搜索+筛选+排序解决方案
郑昀 基于胡耀华和王超的设计文档 最后更新于2014/12/3 关键词:ElasticSearch.Lucene.solr.搜索.facet.高可用.可伸缩.mongodb.SearchHub.商品中 ...
- Elasticsearch的DSL搜索
Elasticsearch的DSL搜索 一.数据准备 1.创建对应的索引库 2.给索引库创建对应的映射 POST 192.168.1.117:9200/sell/_mapping {"pro ...
- 极兔一面:10亿级ES海量搜索狂飙10倍,该怎么办?
背景说明: ES高性能全文索引,如果不会用,或者没有用过,在面试中,会非常吃亏. 所以ES的实操和底层原理,大家要好好准备. 另外,ES调优是一个非常.非常核心的面试知识点,大家要非常重视. 在40岁 ...
- 实习周报 | 3rd week | 2021.4.19 - 4.23 | 文本摘要,ES语义搜索,SOTA SA
完成 ES语义搜索dense vector⽅法可行性进一步测试 新数据集:https://www.kaggle.com/asd336655/ccf2019news-so 新闻评论等,筛选出评论⻓长于5 ...
- es dsl 提取不重复值_询问操作方法:诊断DSL挂断,从PowerPoint中提取媒体,将IE限制为单个网页...
es dsl 提取不重复值 This week we take a look at flaky DSL connections, extracting media from PowerPoint pr ...
- Elaticsearch第十二篇 Es的文档的DSL搜索(三 must、mustnot、should 组合成bool)
一.多列搜索查询 {"query": {"multi_match": {"query": "马可菠萝","fi ...
最新文章
- 理解 ajax、fetch和axios
- wordpress网站后台打开速度很卡很慢解决方法?
- Flutter开发之搭建Flutter开发环境(三)
- 反射机制(java)
- VTK:交叉点 PolyData 过滤器用法实战
- 使用游标显示销售报表_协助报表开发之 MongoDB join mysql
- 11082 完全二叉树的种类 O(n) 卡特兰数
- 开源、快速、高精度的椭圆检测—你值得拥有!
- 还在用Postman?来,花2分钟体验下ApiPost的魅力!
- 想要系统稳定?最好用也最容易理解的指标是.....
- spring 自定义注解及使用
- dll注册,但是对DllRegisterServer的调用失败,错误代码0x80070716
- .chm电子书转换为.pdf的方法
- Office之下拉字体选项名称为英文
- HttpClient Java 常用写法总结
- python文本txt词频统计_python实例:三国演义TXT文本词频分析
- 携程ajax,Python爬虫实战之爬取携程评论
- Matlab:绘制不同颜色的柱状图bar
- shell一键部署mysql
- Proteus 8 Professional安装教程
热门文章
- 服务器里全是vmx文件,ESXi 虚拟机 提示 无法打开本地虚拟机的 xxx.vmx 的本地管道的 问题解决....
- JAVA-初步认识-第五章-数组-常见操作-进制转换(查表法)
- 教学向|ZB利用分组Dynamesh,对模型进行重建细分!
- python知识图谱实战_知识图谱实战
- 后台如何暴漏IP用于前后端测试
- Mongodb高级查询Aggregation聚合组件分页
- 低估价值选股策略(含源代码)
- VisualSVN提交叮叮机器人通知
- 爱奇艺财报电话会议实录:第三季度可能还无法实现盈利
- 在物联网中应用机器学习