ElasticSearch与mysql存在如下对应关系
| ElasticSearch | MySql |
| Index(索引) | Database(数据库) |
| Type(类型) | Table(表) |
| documents(文档) | Row(行) |
| Fields(字段) | Column(列) |
创建索引 PUT 地址/索引名
查询某个索引 GET 地址/索引名
查询所有索引 GET 地址/_cat/indices?v
删除索引 DELETE 地址/索引名
向索引中添加文档 POST 地址/索引名/_doc
{
"title":"苹果手机",
"category":"apple",
"images":"xm.jpg",
"price":9999
}
向索引中添加文档,自己定义id POST 地址/索引名/_doc/1001
通过id查询文档 GET 地址/索引名/_doc/id
查询所有文档 GET 地址/索引名/_search
完全覆盖性修改(幂等性) PUT 地址/索引名/_doc/id
{
"title":"苹果手机",
"category":"apple",
"images":"xm.jpg",
"price":9900.99
}
局部修改 POST 地址/索引名/_update/id
{
"doc":{
"title":"华为手机"
}
}
删除文档 DELETE 地址/索引名/_doc/id
条件查询 GET 地址/索引名/_search
查询category为小米的文档
{
"query":{
"match":{
"category":"小米"
}
}
}
查询全部
{
"query":{
"match_all":{
}
}
}
分页查询
{
"query":{
"match_all":{
}
},
"from":0,//起始位置,(页码-1)*每条数据条数
"size":2 //每页几条
}
指定字段
{
"query":{
"match_all":{
}
},
"_source" : ["title"]
}
排序
{
"query":{
"match_all":{
}
},
"sort":{
"price":{
"order":"asc" //desc
}
}
}
多个条件(且,或,范围)
{
"query":{
"bool":{
"must":[//并且
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
{
"query":{
"bool":{
"should":[//或
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{//范围查询
"range":{
"price":{
"gt":5000//大于5000
}
}
}
}
}
}
分词 (全文检索,完全匹配)
{
"query":{
"match":{//全文检索匹配
"category":"小华"
}
}
}
{
"query":{
"match_phrase":{//完全匹配
"category":"小华"
}
},
"highlight":{
"fields":{
"category":{}
}
}
}
分组
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}
映射 PUT 地址/索引名/_mapping
{
"properties":{
"name":{
"type":"text", //可以分词
"index" true //可以索引查询
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}
查询所有索引 GET 地址/_cat/indices?v
删除索引 DELETE 地址/索引名
向索引中添加文档 POST 地址/索引名/_doc
{
"title":"苹果手机",
"category":"apple",
"images":"xm.jpg",
"price":9999
}
向索引中添加文档,自己定义id POST 地址/索引名/_doc/1001
通过id查询文档 GET 地址/索引名/_doc/id
查询所有文档 GET 地址/索引名/_search
完全覆盖性修改(幂等性) PUT 地址/索引名/_doc/id
{
"title":"苹果手机",
"category":"apple",
"images":"xm.jpg",
"price":9900.99
}
局部修改 POST 地址/索引名/_update/id
{
"doc":{
"title":"华为手机"
}
}
删除文档 DELETE 地址/索引名/_doc/id
条件查询 GET 地址/索引名/_search
查询category为小米的文档
{
"query":{
"match":{
"category":"小米"
}
}
}
查询全部
{
"query":{
"match_all":{
}
}
}
分页查询
{
"query":{
"match_all":{
}
},
"from":0,//起始位置,(页码-1)*每条数据条数
"size":2 //每页几条
}
指定字段
{
"query":{
"match_all":{
}
},
"_source" : ["title"]
}
排序
{
"query":{
"match_all":{
}
},
"sort":{
"price":{
"order":"asc" //desc
}
}
}
多个条件(且,或,范围)
{
"query":{
"bool":{
"must":[//并且
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
{
"query":{
"bool":{
"should":[//或
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{//范围查询
"range":{
"price":{
"gt":5000//大于5000
}
}
}
}
}
}
分词 (全文检索,完全匹配)
{
"query":{
"match":{//全文检索匹配
"category":"小华"
}
}
}
{
"query":{
"match_phrase":{//完全匹配
"category":"小华"
}
},
"highlight":{
"fields":{
"category":{}
}
}
}
分组
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}
映射 PUT 地址/索引名/_mapping
{
"properties":{
"name":{
"type":"text", //可以分词
"index" true //可以索引查询
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}
向索引中添加文档 POST 地址/索引名/_doc
{
"title":"苹果手机",
"category":"apple",
"images":"xm.jpg",
"price":9999
}
向索引中添加文档,自己定义id POST 地址/索引名/_doc/1001
通过id查询文档 GET 地址/索引名/_doc/id
查询所有文档 GET 地址/索引名/_search
完全覆盖性修改(幂等性) PUT 地址/索引名/_doc/id
{
"title":"苹果手机",
"category":"apple",
"images":"xm.jpg",
"price":9900.99
}
局部修改 POST 地址/索引名/_update/id
{
"doc":{
"title":"华为手机"
}
}
删除文档 DELETE 地址/索引名/_doc/id
条件查询 GET 地址/索引名/_search
查询category为小米的文档
{
"query":{
"match":{
"category":"小米"
}
}
}
查询全部
{
"query":{
"match_all":{
}
}
}
分页查询
{
"query":{
"match_all":{
}
},
"from":0,//起始位置,(页码-1)*每条数据条数
"size":2 //每页几条
}
指定字段
{
"query":{
"match_all":{
}
},
"_source" : ["title"]
}
排序
{
"query":{
"match_all":{
}
},
"sort":{
"price":{
"order":"asc" //desc
}
}
}
多个条件(且,或,范围)
{
"query":{
"bool":{
"must":[//并且
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
{
"query":{
"bool":{
"should":[//或
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{//范围查询
"range":{
"price":{
"gt":5000//大于5000
}
}
}
}
}
}
分词 (全文检索,完全匹配)
{
"query":{
"match":{//全文检索匹配
"category":"小华"
}
}
}
{
"query":{
"match_phrase":{//完全匹配
"category":"小华"
}
},
"highlight":{
"fields":{
"category":{}
}
}
}
分组
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}
映射 PUT 地址/索引名/_mapping
{
"properties":{
"name":{
"type":"text", //可以分词
"index" true //可以索引查询
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}
通过id查询文档 GET 地址/索引名/_doc/id
查询所有文档 GET 地址/索引名/_search
完全覆盖性修改(幂等性) PUT 地址/索引名/_doc/id
{
"title":"苹果手机",
"category":"apple",
"images":"xm.jpg",
"price":9900.99
}
局部修改 POST 地址/索引名/_update/id
{
"doc":{
"title":"华为手机"
}
}
删除文档 DELETE 地址/索引名/_doc/id
条件查询 GET 地址/索引名/_search
查询category为小米的文档
{
"query":{
"match":{
"category":"小米"
}
}
}
查询全部
{
"query":{
"match_all":{
}
}
}
分页查询
{
"query":{
"match_all":{
}
},
"from":0,//起始位置,(页码-1)*每条数据条数
"size":2 //每页几条
}
指定字段
{
"query":{
"match_all":{
}
},
"_source" : ["title"]
}
排序
{
"query":{
"match_all":{
}
},
"sort":{
"price":{
"order":"asc" //desc
}
}
}
多个条件(且,或,范围)
{
"query":{
"bool":{
"must":[//并且
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
{
"query":{
"bool":{
"should":[//或
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{//范围查询
"range":{
"price":{
"gt":5000//大于5000
}
}
}
}
}
}
分词 (全文检索,完全匹配)
{
"query":{
"match":{//全文检索匹配
"category":"小华"
}
}
}
{
"query":{
"match_phrase":{//完全匹配
"category":"小华"
}
},
"highlight":{
"fields":{
"category":{}
}
}
}
分组
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}
映射 PUT 地址/索引名/_mapping
{
"properties":{
"name":{
"type":"text", //可以分词
"index" true //可以索引查询
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}
完全覆盖性修改(幂等性) PUT 地址/索引名/_doc/id
{
"title":"苹果手机",
"category":"apple",
"images":"xm.jpg",
"price":9900.99
}
局部修改 POST 地址/索引名/_update/id
{
"doc":{
"title":"华为手机"
}
}
删除文档 DELETE 地址/索引名/_doc/id
条件查询 GET 地址/索引名/_search
查询category为小米的文档
{
"query":{
"match":{
"category":"小米"
}
}
}
查询全部
{
"query":{
"match_all":{
}
}
}
分页查询
{
"query":{
"match_all":{
}
},
"from":0,//起始位置,(页码-1)*每条数据条数
"size":2 //每页几条
}
指定字段
{
"query":{
"match_all":{
}
},
"_source" : ["title"]
}
排序
{
"query":{
"match_all":{
}
},
"sort":{
"price":{
"order":"asc" //desc
}
}
}
多个条件(且,或,范围)
{
"query":{
"bool":{
"must":[//并且
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
{
"query":{
"bool":{
"should":[//或
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{//范围查询
"range":{
"price":{
"gt":5000//大于5000
}
}
}
}
}
}
分词 (全文检索,完全匹配)
{
"query":{
"match":{//全文检索匹配
"category":"小华"
}
}
}
{
"query":{
"match_phrase":{//完全匹配
"category":"小华"
}
},
"highlight":{
"fields":{
"category":{}
}
}
}
分组
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}
映射 PUT 地址/索引名/_mapping
{
"properties":{
"name":{
"type":"text", //可以分词
"index" true //可以索引查询
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}
{
"doc":{
"title":"华为手机"
}
}
删除文档 DELETE 地址/索引名/_doc/id
条件查询 GET 地址/索引名/_search
查询category为小米的文档
{
"query":{
"match":{
"category":"小米"
}
}
}
查询全部
{
"query":{
"match_all":{
}
}
}
分页查询
{
"query":{
"match_all":{
}
},
"from":0,//起始位置,(页码-1)*每条数据条数
"size":2 //每页几条
}
指定字段
{
"query":{
"match_all":{
}
},
"_source" : ["title"]
}
排序
{
"query":{
"match_all":{
}
},
"sort":{
"price":{
"order":"asc" //desc
}
}
}
多个条件(且,或,范围)
{
"query":{
"bool":{
"must":[//并且
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
{
"query":{
"bool":{
"should":[//或
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{//范围查询
"range":{
"price":{
"gt":5000//大于5000
}
}
}
}
}
}
分词 (全文检索,完全匹配)
{
"query":{
"match":{//全文检索匹配
"category":"小华"
}
}
}
{
"query":{
"match_phrase":{//完全匹配
"category":"小华"
}
},
"highlight":{
"fields":{
"category":{}
}
}
}
分组
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}
映射 PUT 地址/索引名/_mapping
{
"properties":{
"name":{
"type":"text", //可以分词
"index" true //可以索引查询
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}
查询category为小米的文档
{
"query":{
"match":{
"category":"小米"
}
}
}
查询全部
{
"query":{
"match_all":{
}
}
}
分页查询
{
"query":{
"match_all":{
}
},
"from":0,//起始位置,(页码-1)*每条数据条数
"size":2 //每页几条
}
指定字段
{
"query":{
"match_all":{
}
},
"_source" : ["title"]
}
排序
{
"query":{
"match_all":{
}
},
"sort":{
"price":{
"order":"asc" //desc
}
}
}
多个条件(且,或,范围)
{
"query":{
"bool":{
"must":[//并且
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
{
"query":{
"bool":{
"should":[//或
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{//范围查询
"range":{
"price":{
"gt":5000//大于5000
}
}
}
}
}
}
分词 (全文检索,完全匹配)
{
"query":{
"match":{//全文检索匹配
"category":"小华"
}
}
}
{
"query":{
"match_phrase":{//完全匹配
"category":"小华"
}
},
"highlight":{
"fields":{
"category":{}
}
}
}
分组
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}
映射 PUT 地址/索引名/_mapping
{
"properties":{
"name":{
"type":"text", //可以分词
"index" true //可以索引查询
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}
{
"query":{
"match_all":{
}
}
}
分页查询
{
"query":{
"match_all":{
}
},
"from":0,//起始位置,(页码-1)*每条数据条数
"size":2 //每页几条
}
指定字段
{
"query":{
"match_all":{
}
},
"_source" : ["title"]
}
排序
{
"query":{
"match_all":{
}
},
"sort":{
"price":{
"order":"asc" //desc
}
}
}
多个条件(且,或,范围)
{
"query":{
"bool":{
"must":[//并且
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
{
"query":{
"bool":{
"should":[//或
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{//范围查询
"range":{
"price":{
"gt":5000//大于5000
}
}
}
}
}
}
分词 (全文检索,完全匹配)
{
"query":{
"match":{//全文检索匹配
"category":"小华"
}
}
}
{
"query":{
"match_phrase":{//完全匹配
"category":"小华"
}
},
"highlight":{
"fields":{
"category":{}
}
}
}
分组
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}
映射 PUT 地址/索引名/_mapping
{
"properties":{
"name":{
"type":"text", //可以分词
"index" true //可以索引查询
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}
{
"query":{
"match_all":{
}
},
"_source" : ["title"]
}
排序
{
"query":{
"match_all":{
}
},
"sort":{
"price":{
"order":"asc" //desc
}
}
}
多个条件(且,或,范围)
{
"query":{
"bool":{
"must":[//并且
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
{
"query":{
"bool":{
"should":[//或
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{//范围查询
"range":{
"price":{
"gt":5000//大于5000
}
}
}
}
}
}
分词 (全文检索,完全匹配)
{
"query":{
"match":{//全文检索匹配
"category":"小华"
}
}
}
{
"query":{
"match_phrase":{//完全匹配
"category":"小华"
}
},
"highlight":{
"fields":{
"category":{}
}
}
}
分组
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}
映射 PUT 地址/索引名/_mapping
{
"properties":{
"name":{
"type":"text", //可以分词
"index" true //可以索引查询
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}
{
"query":{
"bool":{
"must":[//并且
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
]
}
}
}
{
"query":{
"bool":{
"should":[//或
{
"match":{
"category":"小米"
}
},
{
"match":{
"price":1999.00
}
}
],
"filter":{//范围查询
"range":{
"price":{
"gt":5000//大于5000
}
}
}
}
}
}
分词 (全文检索,完全匹配)
{
"query":{
"match":{//全文检索匹配
"category":"小华"
}
}
}
{
"query":{
"match_phrase":{//完全匹配
"category":"小华"
}
},
"highlight":{
"fields":{
"category":{}
}
}
}
分组
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}
映射 PUT 地址/索引名/_mapping
{
"properties":{
"name":{
"type":"text", //可以分词
"index" true //可以索引查询
},
"sex":{
"type":"keyword",
"index":true
},
"tel":{
"type":"keyword",
"index":false
}
}
}
{
"aggs":{//聚合操作
"price_group":{ //名称,随意起名
"terms":{//分组操作
"field":"price"//分组字段
}
}
},
"size":0
}
{
"aggs":{//聚合操作
"price_avg":{ //名称,随意起名
"avg":{//平均值
"field":"price"//分组字段
}
}
},
"size":0
}



