elasticsearch mget_elasticsearch查询语法

elasticsearch mget_elasticsearch查询语法

目录

1.概念

1.1.term与match

1.2.text与keyword

2.Term + Text/Keyword

(1)term查询text字段

(2)term查询keyword字段

3.Match + Text/Keyword

(1)match查询text字段

(2)match查询keyword字段

4.Match – Match_phrase

5.Match – Multi_match

6.Query_String

7、实际案例参考



参考文章:Elasticsearch中 match、match_phrase、query_string和term的区别

1.概念

1.1.term与match

term是精确查询

match是模糊查询

1.2.text与keyword

ES更新到5版本后,取消了 string 数据类型,代替它的是 keyword 和 text 数据类型。

Text

Text 数据类型被用来索引长文本,比如说电子邮件的主体部分或者一款产品的介绍。这些文本会被分析,在建立索引前会将这些文本进行分词,转化为词的组合,建立索引。允许 ES来检索这些词语。text 数据类型不能用来排序和聚合。

Keyword

Keyword 数据类型用来建立电子邮箱地址、姓名、邮政编码和标签等数据,不需要进行分词。可以被用来检索过滤、排序和聚合。keyword 类型字段只能用本身来进行检索。

注意:如果不像以上通过mapping 配置索引时,遇到字符串类型时候的字端,系统会默认为“text”类型。检索的时候对字符串进行分析。所以要想只通过字段本身来进行检索,还是需要按照上面把该字段改为“keyword”类型。

 

以下参考:Elasticsearch中 match、match_phrase、query_string和term的区别

2.Term + Text/Keyword

elasticsearch mget_elasticsearch查询语法

(1)term查询text字段

因为text字段会分词,而term不分词,所以term查询的条件必须是text字段分词后的某一个

elasticsearch mget_elasticsearch查询语法

elasticsearch mget_elasticsearch查询语法

(2)term查询keyword字段

 term不会分词。而keyword字段也不分词。需要完全匹配才可

elasticsearch mget_elasticsearch查询语法

elasticsearch mget_elasticsearch查询语法

 

3.Match + Text/Keyword

elasticsearch mget_elasticsearch查询语法

(1)match查询text字段

match分词,text也分词,只要match的分词结果和text的分词结果有相同的就匹配

elasticsearch mget_elasticsearch查询语法


Match查询会先对搜索词进行分词,分词完毕后再逐个对分词结果进行匹配,因此相比于term的精确搜索,match是分词匹配搜索,match搜索还有两个相似功能的变种,一个是match_phrase,一个是multi_match。

(2)match查询keyword字段

match会被分词,而keyword不会被分词,match的需要跟keyword的完全匹配可以

elasticsearch mget_elasticsearch查询语法

 

4.Match – Match_phrase

match_phrase的用法:

主要知识点:

  • match_phrase的使用场景
  • match_phrase的用法
  • match_phrase的原理

一、什么是近似匹配

 match_phrase的使用场景

现假设有两个句子

1、java is my favourite programming language, and I also think spark is a very good big data system.

2、java spark are very related, because scala is spark’s programming language and scala is also based on jvm like java.

   

进行match query,query语法如下:

 
 

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/152079.html

(0)
上一篇 2024年 6月 29日 下午6:08
下一篇 2024年 6月 29日 下午6:12

相关推荐

关注微信