Elasticsearch Query DSL 整理总结(二)—— 要搞懂 Match Query,看这篇就够了

 目录

引言

昨天是感恩节,上幼儿园的女儿在老师的叮嘱下,晚上为我和老婆洗了脚(形式上的^_^),还给我们每人端了一杯水。看着孩子一天天的长大,懂事,感觉很开心,话说咱们程序员这么辛苦是为了什么?不就是为了老婆,孩子,热炕头,有一个温暖幸福的家庭,再捎带着用代码改变一下世界吗?想到这里,顿时觉得学习,创作博客的劲头也的更足了。哈哈,扯远了,书归正传,今天我们来聊聊 Match Query。

Match Query 是最常用的 Full Text Query 。无论需要查询什么字段, match 查询都应该会是首选的查询方式。它既能处理全文字段,又能处理精确字段。

构建示例

为了能够在后面能深入理解 Match Query 中的各个属性的意义,我们先构建一个 index 示例(有兴趣的同学只要将下面字段粘贴到 sense 中就可以创建)。

PUT matchtest {  }  PUT matchtest/_mapping/people {   "properties": {     "age": {       "type": "integer"     },     "hobbies": {       "type": "text"     },     "name": {       "type": "keyword"     }   } }  PUT matchtest/people/1 {   "name" : "Jim",   "age": 10,   "hobbies": "football, basketball, pingpang" }   PUT matchtest/people/2 {   "name" : "Tom",   "age": 12,   "hobbies": "swimming, football" }

match

operator 参数

match 查询是一种 bool 类型的查询。什么意思呢?举个例子,查询 people type 的 hobbies 为 football basketball

GET matchtest/people/_search {   "query": {     "match": {       "hobbies": "football basketb
                    
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信