ES中match和term差别对比
match在匹配时会对所查找的关键词进行分词,然后按分词匹配查找,而term会直接对关键词进行查找。一般模糊查找的时候,多用match,而精确查找时可以使用term。
举个例子说明一下:
{ "match": { "title": "my cat"}
}
{ "bool": { "should": [ { "term": { "title": "my" }}, { "term": { "title": "cat" }} ] }
}
match 会将关键词进行分词分成“my”和“cat”,查找时包含其中任一均可被匹配到。
term结合bool使用,不进行分词,但是有2个关键词,并且使用“或”匹配,也就是会匹配关键字一“my”或关键字“cat”,效果和上面的match是相同的。如果要想精确的匹配“my cat”而不匹配“my lovely cat”,则可以如下方式匹配:
{ "bool": { "should": [ { "term": { "title": "my cat" }} ] }
}
是不是还挺简单的,有一点需要注意一下,term结合bool使用时:should是或,must是与,must_not是非(还有一种filter,不说了这个)
{ "match": { "title": { "query": "my cat", "operator": "and" } }
}
{ "bool": { "must": [ { "term": { "title": "my" }}, { "term": { "title": "cat" }} ] }
}
上面这两个查询就是等效的,match的与对应bool的must,也就是说my和cat需要都出现才算匹配上。
ES中match和term差别对比相关推荐
- es中match和term的区别
GET my_test/children/_search {"query":{"match":{"other": "重点内容&qu ...
- ES中term、terms、match的区别
ES中term.terms.match的区别 term query会去倒排索引中寻找确切的term,它并不知道分词器的存在,这种查询适合keyword.numeric.date等明确值的 term:查 ...
- es中 term多字段查询
es中 must 多字段查询可以如下操作 {"query": {"bool": {"must": [{"term":{& ...
- Elasticsearch中 match、match_phrase、query_string和term的区别
(一)text字段和keyword字段的区别 以下给出一个例子: 首先建立一个索引和类型,引入一个keywork的字段: PUT my_index {"mappings": {&q ...
- ES中关联关系处理方式汇总
前言 本节主要介绍在ES中关联关系的处理方式. 一.方案汇总 根据<Elasticsearch权威指南>以及官网中的介绍,ES针对关联关系的处理主要有如下方式: 应用层关联 非规划化数据 ...
- elasticsearch 查询(match和term)
elasticsearch 查询(match和term) es中的查询请求有两种方式,一种是简易版的查询,另外一种是使用JSON完整的请求体,叫做结构化查询(DSL). 由于DSL查询更为直观也更为简 ...
- ELK系列(四)、Logstash读取nginx日志写入ES中
前面讲了ELK的部署以及Logstash的插件的安装方式,本篇就介绍一下如何使用Logstash读取nginx的日志,并写入ES中,通过Kibana分析. ELK系列(一).安装ElasticSear ...
- es中的dsl练习题-----简单的dsl语句
slirp4netns >= 0.4 fuse-overlayfs >= 0.7 这是在本地安装elasticsearch数据然后通过kibana来操作数据的dsl来实现的 其中的查询ap ...
- ES中的Query与Filter的区别
QElasticsearch支持很多查询方式,其中一种就是DSL,它是把请求写在JSON里面,然后进行相关的查询. Query DSL 与 Filter DSL DSL查询语言中存在两种:查询DSL( ...
最新文章
- Java JDK 11:现在可以使用所有新功能
- python网上有免费资源吗_【转载】学习Python无从下手?最好的免费资源想要拿走...
- 底层原理_Spring框架底层原理IoC
- 服务器端利器--双缓冲队列
- zipkin server 数据持久化问题
- 一款监控网络状态的好工具- Smokeping
- wex5部署教程到数据库
- LDAPimplementation
- VMware下Ubuntu图形界面切换到命令行终端模式
- dedecms 判断是否有值然后显示
- c#winform panel空间拖动窗体 最小化 关闭 按钮 右下角弹窗
- MyBatis 简单手写的 实现
- xcode 真机调试无法选择对应设备 “ineligible devices“
- 【visual studio】visual studio 2022 无法 复制黏贴
- sklearn基础(一)文本特征提取函数CountVectorizer()和TfidfVectorizer()
- 用户行为分析大数据平台之(一)项目介绍
- ofo牵手芝麻信用,骑小黄车可以不用押金了
- 定义一个学生类Student,包含三个属性姓名、年龄、性别, 创建三个学生对象存入ArrayList集合中。 	A:使用迭代器遍历集合。 	B:求出年龄最大的学生,然后将该对象的姓名变为:小猪佩奇。
- Android 多种简单的弹出框样式设置
- 软件工程-大学体育馆管理系统用例图
热门文章
- 计算机毕业设计PHP行程规划app(源码+程序+VUE+lw+部署)
- video标签播放MP4只有声音没有视频
- java中上传图片的原理_js实现图片上传预览原理分析
- 群签名与环签名的介绍
- Redis 最全面试题(2021)
- 小米邮件遭曝光,红米Note8 Pro售价泄露,网友:这价格也太香了
- html5 video js控制摄像头的焦距,video.js自定义控制按钮
- easyui combobox设置默认选项
- chanson:Ta fete 翻译
- springboot使用JWT,并自动获取用户信息