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