# 创建索引
PUT shopping
# 查询索引信息
GET lck
# 查询全部索引
GET _cat/indices?v
# 删除索引
DELETE shopping
# 创建文档 1
POST shopping/_doc
{
"title":"华为手机",
"category":"华为",
"images":"http://www.gulixueyuan.com/xm.jpg",
"price":1999
}
# 创建文档 2 指定唯一性标识
POST shopping/_doc/1
{
"title":"小米手机",
"category":"小米",
"images":"http://www.gulixueyuan.com/xm.jpg",
"price":3999.00
}
# 查询文档
GET shopping/_doc/1
# 查询索引下所有文档
GET shopping/_search
# 修改文档
POST shopping/_update/1
{
"doc": {
"title" : "修改标题"
}
}
# 删除文档
DELETE shopping/_doc/pC2iWY0BFBysG6Ohy71N
# 条件查询文档
GET shopping/_search
{
"query": {
"match": {
"category": "小华"
}
}
}
# 带请求体方式查询索引下所有文档
GET shopping/_search
{
"query": {
"match_all": {}
}
}
# 查询指定字段
GET shopping/_search
{
"query": {
"match_all": {}
},
"_source": ["category"]
}
# 分页查询
GET shopping/_search
{
"query": {
"match_all": {}
},
"from": 0,
"size": 2
}
# 排序
GET shopping/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"price": {
"order": "asc"
}
}
]
}
# 多条件查询 1 must (must相当于数据库的 and)
GET shopping/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"category": "小米"
}
},
{
"match": {
"price": "1999"
}
}
]
}
}
}
# 多条件查询 2 should (should相当于数据库的 or)
GET shopping/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"category": "小米"
}
},
{
"match": {
"category": "华为"
}
}
]
}
}
}
# 多条件查询 3 范围查询
GET shopping/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"category": "小米"
}
},
{
"match": {
"category": "华为"
}
}
],
"filter": [
{
"range": {
"price": {
"lte": 2000
}
}
}
]
}
}
}
# 全文检索
GET shopping/_search
{
"query": {
"match": {
"category": "华华"
}
}
}
# 完全匹配
GET shopping/_search
{
"query": {
"match_phrase": {
"category": "华为"
}
}
}
# 高亮查询
GET shopping/_search
{
"query": {
"match": {
"category": "华为"
}
},
"highlight": {
"fields": {
"category": {}
}
}
}
# 聚合允许使用者对 es 文档进行统计分析,类似与关系型数据库中的 group by,当然还有很多其他的聚合,例如取最大值max、平均值avg等等
# 聚合查询 分组
GET shopping/_search
{
"aggs": {
"p_g": {
"terms": {
"field": "price"
}
}
},
"size": 0
}
# 聚合查询 求平均
GET shopping/_search
{
"aggs": {
"p_A": {
"avg": {
"field": "price"
}
}
},
"size": 0
}
# 聚合查询 求最大值
GET shopping/_search
{
"aggs": {
"p_max": {
"max": {
"field": "price"
}
}
},
"size": 0
}
# 设置映射关系
PUT user/_mapping
{
"properties": {
"name":{
"type": "text",
"index": true
},
"sex":{
"type": "keyword",
"index": true
},
"tel":{
"type": "keyword",
"index": false
}
}
}
# 查询映射关系
GET user/_mapping
# 添加数据
POST user/_create/1001
{
"name":"小米",
"sex":"男的",
"tel":"1111"
}
GET user/_search
{
"query": {
"match": {
"tel": "11"
}
}
}