elasticsearch 相关操作笔记

# 创建索引
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"
    }
  }
}


















































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值