IT袋

当前位置:主页 > 经验教程 > 建站编程 >

ElasticSearch常见用法

ElasticSearch常见用法 常见的ElasticSearch用法(2)

时间:2024-03-18 15:00:59 来源:IT袋 作者:马勇
导读:ElasticSearch常见用法,{ "_index" : "products", "_type" : "_doc", "_id" : "sjfYnXwBVVbJgt24PlVU", "_version" : 1, "result" : "created", "_shards" : { "total" : 1, "successful" : 1, "failed" : 0 }, "_seq_no" : 3, "_primary_t

ElasticSearch常见用法

{
  "_index" : "products",
  "_type" : "_doc",
  "_id" : "sjfYnXwBVVbJgt24PlVU",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 3,
  "_primary_term" : 1
}

2、查询文档

GET /products/_doc/1
{
  "_index" : "products",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "title" : "iphone13",
    "price" : 8999.99,
    "created_at" : "2021-09-15",
    "description" : "iPhone 13屏幕采用6.1英寸OLED屏幕"
  }
}

3、删除文档

DELETE /products/_doc/1
{
  "_index" : "products",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 2,
  "result" : "deleted",
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 2,
  "_primary_term" : 1
}

4、更新文档

PUT /products/_doc/sjfYnXwBVVbJgt24PlVU
{
  "title":"iphon15"
}

说明: 这种更新方式是先删除原始文档,再将更新文档以新的内容插入。

POST /products/_doc/sjfYnXwBVVbJgt24PlVU/_update
{
    "doc" : {
        "title" : "iphon15"
    }
}

说明: 这种方式可以将数据原始内容保存,并在此基础上更新。

5、批量操作

POST /products/_doc/_bulk #批量索引两条文档
  {"index":{"_id":"1"}}
    {"title":"iphone14","price":8999.99,"created_at":"2021-09-15","description":"iPhone 13屏幕采用6.8英寸OLED屏幕"}
 {"index":{"_id":"2"}}
    {"title":"iphone15","price":8999.99,"created_at":"2021-09-15","description":"iPhone 15屏幕采用10.8英寸OLED屏幕"}
POST /products/_doc/_bulk #更新文档同时删除文档
 {"update":{"_id":"1"}}
  {"doc":{"title":"iphone17"}}
 {"delete":{"_id":2}}
 {"index":{}}
  {"title":"iphone19","price":8999.99,"created_at":"2021-09-15","description":"iPhone 19屏幕采用61.8英寸OLED屏幕"}

说明:批量时不会因为一个失败而全部失败,而是继续执行后续操作,在返回时按照执行的状态返回!

三、高级查询

ES中提供了一种强大的检索数据方式,这种检索方式称之为Query DSL,Query DSL是利用Rest API传递JSON格式的请求体(Request Body)数据与ES进行交互,这种方式的丰富查询语法让ES检索变得更强大,更简洁。

1、语法

# GET /索引名/_doc/_search {json格式请求体数据}
# GET /索引名/_search {json格式请求体数据}

2、测试数据

# 1.创建索引 映射
PUT /products/
{
  "mappings": {
    "properties": {
      "title":{
        "type": "keyword"
      },
      "price":{
        "type": "double"
      },
      "created_at":{
        "type":"date"
      },
      "description":{
        "type":"text"
      }
    }
  }
}
# 2.测试数据
PUT /products/_doc/_bulk
{"index":{}}
  {"title":"iphone12 pro","price":8999,"created_at":"2020-10-23","description":"iPhone 12 Pro采用超瓷晶面板和亚光质感玻璃背板,搭配不锈钢边框,有银色、石墨色、金色、海蓝色四种颜色。宽度:71.5毫米,高度:146.7毫米,厚度:7.4毫米,重量:187克"}
{"index":{}}
  {"title":"iphone12","price":4999,"created_at":"2020-10-23","description":"iPhone 12 高度:146.7毫米;宽度:71.5毫米;厚度:7.4毫米;重量:162克(5.73盎司) [5]  。iPhone 12设计采用了离子玻璃,以及7000系列铝金属外壳。"}
{"index":{}}
  {"title":"iphone13","price":6000,"created_at":"2021-09-15","description":"iPhone 13屏幕采用6.1英寸OLED屏幕;高度约146.7毫米,宽度约71.5毫米,厚度约7.65毫米,重量约173克。"}
{"index":{}}
  {"title":"iphone13 pro","price":8999,"created_at":"2021-09-15","description":"iPhone 13Pro搭载A15 Bionic芯片,拥有四种配色,支持5G。有128G、256G、512G、1T可选,售价为999美元起。"}

相关阅读

  • 求生之路1怎么联机局域网 求生之路2本地服务器联机教程

    求生之路1怎么联机局域网 求生之路2本地服务器联机教程

    小编为你介绍求生之路1怎么联机局域网和求生之路2本地服务器联机教程方面的讲解,下面来一起了解一下吧。 说到玩游戏,相信很多小伙伴都会在自己下班后的休息时间里,或者是周末宅在

  • dreamweaver新手教程快速入门 学生个人网页制作html

    dreamweaver新手教程快速入门 学生个人网页制作html

    今日小编为你讲解学生个人网页制作html和dreamweaver新手教程快速入门的内容,下面为您详细介绍 伴随着互联网时代的到来,网页制作已经成为越来越多人感兴趣的一项技能。学习网页制作也成

  • 什么是微服务、容器和Kubernetes

    什么是微服务、容器和Kubernetes

    今日重点为您介绍什么是微服务、容器和Kubernetes的电脑方面的小经验,下面IT袋网为您详细介绍 什么是微服务? 什么是微服务?你应该使用微服务吗?微服务与容器和 Kubernetes 有什么关系?

  • OpenSSL命令详解:一篇全面深入的教程

    OpenSSL命令详解:一篇全面深入的教程

    全面的为您讲解OpenSSL命令详解的相关介绍,具体介绍如下: OpenSSL是一个开源项目,提供了一个健壮、全特性且高度灵活的工具包,主要用于安全传输协议和加密算法的实现。 在本文中,我们