日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

六、对ES增删改查

發布時間:2023/12/13 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 六、对ES增删改查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、ES的數據結構

ES跟MySQL有很大的區別,現在將MySQL跟ES做對比,這樣方便理解。

因為ES數據庫是通過API接口進行訪問的,訪問的方式有如下幾種
1、es-head插件
2、kibana控制臺
3、curl命令
4、Postman工具

1、ES數據庫結構對比

MySQL術語 ES術語
庫,databases 索引,index
表,tables 類型,_doc
字段(列) json格式的key
json格式的value
文檔,doc

MySQL中的庫在ES中叫索引,MySQL表在es中叫類型,以此類推

2、操作ES數據庫命令對比

命令含義 ES MySQL
查看 GET select
上傳、新鍵 POST insert,create
更新 PUT update
刪除 DELETE DELETE

MySQL中的查看在ES中使用GET命令,以此類推

3、MySQL的數據在es中存放形式

在MySQL中是通過表的形式存放數據的,如下圖所示

在ES中數據是如下存放的

_index索引對應MySQL中的庫
_type類型對應MySQL中的表
_id對應MySQL中的id
_score是評分,顯示搜索結果的優先級,優先級高的結果優先顯示

在ES中插入數據,如下圖所示

資料:官方文檔

二、查看ES數據庫

1、使用kibana控制臺

打開主頁-->控制臺

如下圖所示,PUT表示新鍵,linux表示索引,_doc表示類型,1表示id號;
name表示key,tz表示值,數據是json格式的;

我們可以使用es-head插件查看插入的數據
點擊數據瀏覽-->linux

kibana的歷史記錄也很好用,可以看到之前執行過的命令

2、使用curl命令

es中內置了很多方便監控的模塊,如查看健康狀態使用GET /_cat/health

$ curl -v 10.154.0.110:9200/_cat/health

也可在瀏覽器中使用

在kibana中可以查看內置的查詢模塊

3、使用es-head插件

這是我們創建的索引

里面有一行數據

數據內容如下

三、操作ES數據庫

1、插入數據

1)使用自定義ID插入數據
curl本質上使用的是請求方法向es數據庫中插入或查詢數據

curl命令操作

$ curl -XPUT 'http://10.154.0.110:9200/linux/_doc/1' -H 'Content-Type:application/json' -d '
{
  "name":"tz",
  "age":"68"
}'
-X:指定請求類型
-H:修改請求頭數據
-d:上傳數據

kinbana控制臺界面操作

修改id號插入第2條數據

使用es-head插件查看插入的數據

2)使用隨機ID插入數據
在POST請求方法下,不指定ID新鍵數據會隨機產生一串數據作為id號

在es-head下查看

2、查詢數據

先插入測試數據,可以使用ctrl+A全選,一起運行

1)查詢所有

GET linux/_search/

hits表示命中,共命中4條數據,數據都是以json格式顯示的

2)條件查詢
查詢name為tz996的數據

GET linux/_search
{
  "query": {
    "term": {
      "name": {
        "value": "tz996"
      }
    }
  }
}

3)多條件查詢

#條件1
address是GZ

#條件2
job是ops

#條件3
age>=21 && age<=24

#查詢語句
GET linux/_search
{
  "query": {
    "bool":{
      "must": [
        {
          "term": {
            "address.keyword": "GZ"
            }
          },
          {
            "term": {
              "job.keyword": "ops"
              }
            },
            {
              "range": {
                "age.keyword": {
                  "gte": 21,
                  "lte": 24
                }
              }  
            }
          ]
        }
      }  
    }
#bool里有must,must表示必須要有的字段

查詢結果

3、更新數據

1)根據自定義id更新

#使用PUT命令
PUT linux/_doc/1
{
  "name" : "tz996",
  "age" : "29",
  "address" : "GZ",
  "job" : "dev"
}

#POST命令也能更新
POST linux/_doc/1
{
  "name" : "tz997",
  "age" : "33",
  "address" : "GZ",
  "job" : "dev"
}

可以看到數據已經更新

2)隨機ID更新
需要先根據字段查到隨機ID,然后根據隨機ID修改數據

#先查到tz996的隨機ID
GET linux/_search
{
  "query": {
    "term": {
      "name": {
        "value": "tz996"
      }
    }
  }
}

#根據隨機ID再修改數據
POST linux/_doc/8jbqkHsBtAovAB3B-W6A
{
  "name" : "tz997",
  "age" : "33",
  "address" : "GZ",
  "job" : "dev"
}

4、刪除數據

先查到指定ID,然后根據指定ID刪除數據

GET linux/_search
{
  "query": {
    "term": {
      "name": {
        "value": "tz996"
      }
    }
  }
}

DELETE linux/_doc/8jbqkHsBtAovAB3B-W6A

效果如下

三、postman軟件使用

大概長這個樣子,以后抽時間研究一下

參考資料
老男孩教育_day104_視頻

今天的學習是為了以后的工作更加的輕松!

總結

以上是生活随笔為你收集整理的六、对ES增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。