国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ES常用基礎操作命令及實踐

IT那活兒 / 3505人閱讀
ES常用基礎操作命令及實踐
一. ES集群環境



二. ES基本操作命令_cat

1. 基本參數

verbose:顯示列名, 請求參數為v

示例: curl localhost:9200/_cat/master?v

help:顯示當前命令的各列含義, 請求參數為help. 某些命令部分列默認不顯示,可通過help該命令可顯示的所有列

示例: curl localhost:9200/_cat/master?help

bytes: 數值列以指定單位顯示, 默認轉為以kb/mb/gb表示

示例: curl localhost:9200/_cat/indices?bytes=b

header:顯示指定列的信息,請求參數為h

示例: curl localhost:9200/_cat/indices?h=i,tm
(顯示集群各索引占用多大的空間)


2. 查看segement詳細信息(/_cat/segements)

查看各index的segment詳細信息,包括segment名, 所屬shard, 內存/磁盤占用大小, 是否刷盤, 是否merge為compound文件等. 可以查看指定index的segment信息(/_cat/segments/${index})

例: curl localhost:9200/_cat/segments/new_index_20210621?v


3. 查看index詳細信息(/_cat/indices)

查看集群中所有index的詳細信息,包括index狀態,shard個數(primary/replica),doc個數等,可參考help. 可以查看指定index的信息(/_cat/indices/${index})

示例: curl localhost:9200/_cat/indices?v


4. 查看alias詳細信息(/_cat/aliases)

查看集群中所有alias信息,包括alias對應的index, 路由配置等. 可以查看指定alias的信息(/_cat/aliases/${alias})

先給索引創建個別名: curl -XPUT localhost:9200/new_index_20210618/_alias/a1?pretty

示例: curl localhost:9200/_cat/aliases?v


5. 查看shard詳細信息(/_cat/shards)

查看各shard的詳細情況,包括shard的分布, 當前狀態(對于分配失敗的shard會有失敗原因), doc數量, 磁盤占用情況, shard的訪問情況(如所有get請求的成功/失敗次數以及對應耗時等). 可以指定index只查看某個index的shard信息(/_cat/shards/${index})

示例: curl localhost:9200/_cat/shards?v


6. 查看單節點磁盤使用情況(/_cat/allocation)

查看單節點的shard分配整體情況

示例: curl localhost:9200/_cat/allocation?v


7. 查看單節點的自定義屬性(/_cat/nodeattrs)

查看單節點的自定義屬性

示例: curl localhost:9200/_cat/nodeattrs?v


8. 查看集群當前狀態(/_cat/health)

查看集群當前狀態, 包括data節點個數,primary shard個數等基本信息

示例: curl localhost:9200/_cat/health?v

status列為green時表示集群正常; yellow表示部分shards的primary已分配,replica未分配; red表示部分shard的primary未分配


9. 查看集群各個節點的當前狀態(/_cat/nodes)

查看集群各個節點的當前狀態, 包括節點的物理參數(包括os/jdk版本, uptime, 當前mem/disk/fd使用情況等), 請求訪問情況(如search/index成功和失敗的次數)等詳細信息

示例: curl localhost:9200/_cat/nodes?v


10. 查看集群master節點(/_cat/master)

查看集群中的master節點

示例: curl localhost:9200/_cat/master?v


11. 查看集群fielddata內存占用情況(/_cat/fielddata)

查看當前集群各個節點的fielddata內存使用情況,默認是關閉的

示例: curl localhost:9200/_cat/fielddata?v


12. 查看集群doc數量(/_cat/count)

查看當前集群的doc數量; 也可顯示指定index的doc數量,格式為/_cat/count/${index}

示例: curl localhost:9200/_cat/count/new_index_20210618?v


13. 查看集群的pendingTask情況(/_cat/pending_tasks)

查看當前集群的pending task(等待事件),測試環境沒業務

示例: curl localhost:9200/_cat/pending_tasks?v

14. 查看集群各節點的plugin信息(/_cat/plugins)

查看集群各個節點上的plugin(插件)信息,測試環境沒有安裝插件

示例: curl localhost:9200/_cat/plugins?v


三. ES索引基本操作命令

1. 查詢es中所有索引,所有已存在的索引

curl localhost:9200/_cat/indices?v


2.創建新的索引【索引要求是全小寫字符,可以有下劃線隔開】
curl -H"Content-Type: application/json" -XPUT localhost:9200/new_index_20210618?pretty -d{
  "settings":{
    "number_of_replicas":3,
    "number_of_shards":9
    },
  "mappings": {
     "user": {
       "properties": {
          "name": {
            "type":"text"
          },
          "age":{
            "type":"integer"
          },
          "profession":{
            "type":"text"
          }
        }
      }
   }
}

出現這個的原因是,elasticsearch7默認不在支持指定索引類型,默認索引類型是_doc,如果想改變,則配置include_type_name: true 即可(官方文檔說,無論是否可行,建議不要這么做,因為elasticsearch8后就不在提供該字段)。

官方文檔:

https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html


所以在Elasticsearch7中應該這么創建索引,也可創建索引后再修改mapping(pretty輸出結果已json形式輸出)

curl -H"Content-Type: application/json" -XPUT localhost:9200/new_index_20210618?pretty -d{
  "settings":{
    "number_of_replicas":3,
    "number_of_shards":9
    },
  "mappings": {
       "properties": {
          "name": {
            "type":"text"
          },
          "age":{
            "type":"integer"
          },
          "profession":{
            "type":"text"
          }
        }
   }
}


3. DELETE刪除索引

示例: curl -XDELETE localhost:9200/new_text_202106018?pretty

4. 索引重命名,ES不支持索引重命名,只能將原索引復制到新索引

curl -H"Content-Type: application/json" -XPOST localhost:9200/_reindex -d{
  "source": {
    "index": "new_index_20210621"
  },
  "dest": {
    "index": "new_index_20210618"
  }
}

5. 開啟關閉索引,索引關閉后只能查看索引配置信息,不能對索引的數據進行讀寫操作

關閉: 

curl -H "Content-Type: application/json" -XPOST localhost:9200/test1/_close?pretty

開啟: 

curl -H "Content-Type: application/json" -XPOST localhost:9200/test1/_open?pretty


四. ES映射基本操作命令

1.查詢索引的mappings(映射,相當于數據庫的表結構)

curl -XGET localhost:9200/test1/_mappings?pretty

2. 修改索引的mapping,添加Createtime字段字段類型是date(*ES mapping在建好之后不可以更改字段類型,也不支持刪除)

curl -H "Content-Type: application/json" -XPUT localhost:9200/test1/_mapping?pretty -d{"properties":{"name":{"type":"text"},"age":{"type":"text"},"profession":{"type":"text"},"Createtime":{"type":"date","format":"yyyy-MM-dd HH:mm:ss"}}}


五. ES數據(文檔)基本操作命令

1.創建新的索引庫test2

curl -XPUT localhost:9200/test2?pretty

2.像新建的test2索引庫中插入一條數據

數據插入后會自動生成mapping,字段類型默認為text,時間字段類型為date

curl -H "Content-Type: application/json" -XPUT localhost:9200/test2/_doc/1?pretty -d  {"name":"張三","age":"23","profession":"法外狂徒","Createtime":"2021-06-25"}

3. 查詢新插入的數據

curl -XGET localhost:9200/test2/_doc/1?pretty

4. 修改數據,每修改一次_version加1

curl -H "Content-Type: application/json" -XPUT localhost:9200/test2/_doc/1?pretty -d {"name":"張三更新","age":"230"}

即使用相同的新增命令操作相同的ID,數據不同

或者使用_update更新數據

curl -H "Content-Type: application/json" -XPOST localhost:9200/test2/_doc/1/_update?pretty -d {"doc":{"name":"張三更新","age":"2300"}}

5. 使用簡單的腳本修改數據

curl -H "Content-Type: application/json" -XPOST localhost:9200/test2/_doc/1/_update?pretty -d {"script" : "ctx._source.age += 5"}

6. 根據ID刪除數據

curl -XDELETE localhost:9200/test2/_doc/1?pretty

7. _bukl命令批量操作

curl -H "Content-Type: application/json"  -XPOST localhost:9200/test2/_doc/_bulk?pretty -d
{"update":{"_id":"1"}}
{"doc": {"name":"趙思妹妹","age":"25"}}
{"update":{"_id":"2"}}
{"doc":{"name":"錢老板","age":"50"}}
{"delete":{"_id":"3"}}
{"index":{"_id":"4"}}
{"name":"尼古拉斯","age":"1200"}

8. 使用bulk命令導入數據集文件json文件

創建test.json文件,確保ES用戶有讀取該文件的權限。

Vi test.json
{"index":{"_id":"10"}}
{"name":"張三10","age":10}
{"index":{"_id":"11"}}
{"name":"張三11","age":11}
{"index":{"_id":12}}
{"name":"張三12","age":12}
{"index":{"_id":"13"}}
{"name":"張三13","age":13}
{"index":{"_id":"14"}}
{"name":"張三14","age":14}
{"index":{"_id":15}}
{"name":"張三15","age":15}
指定要導入的  索引、type、使用bulk命令  @符號后面跟json文件的絕對路徑

curl -H "Content-Type: application/json" -XPOST localhost:9200/test2/_doc/_bulk?pretty --data-binary @/home/test.json

查看索引文檔數為9,增加了5個


六. ES _search查詢命令

1. 查詢某個索引中的所有數據

curl -H "Content-Type: application/json" -XGET localhost:9200/new_index_20210621/_search?pretty -d {"query":{ "match_all":{}}}

2. 查詢某個索引中的2條數據

(如果不指定size,默認返回10條,按照ID排序)

curl -H "Content-Type: application/json" -XPOST localhost:9200/test2/_search?pretty -d
{
    "query":{
        "match_all":{

        }
    },
    "size":2
}

3. 查詢某個索引中的2條數據,從第二條數據開始

curl -H "Content-Type: application/json" -XPOST localhost:9200/test2/_search?pretty -d
{
    "query":{
        "match_all":{

        }
    },
    "from":2,
    "size":2
}

4. 查詢的部分字段,只返回name和age列

curl -H "Content-Type: application/json" -XPOST localhost:9200/test2/_search?pretty -d
{
    "query":{
        "match_all":{

        }
    },
    "_source":[
        "name",
        "age"
    ],
    "size":2
}


5. 條件匹配查詢,查詢age=10的數據

curl -H "Content-Type: application/json" -XPOST localhost:9200/test2/_search?pretty -d
{
    "query":{
        "match":{
            "age":10
        }
    }
}

6. 布爾查詢 bool

and查詢,必須同時滿足age=10,name中包含“張三”

must表示所有查詢必須都為真才被認為匹配

curl -H "Content-Type: application/json" -XPOST localhost:9200/test2/_search?pretty -d
{
    "query":{
        "bool":{
            "must":[
                {
                    "match":{
                        "age":10
                    }
                },
                {
                    "match":{
                        "name":"張三"
                    }
                }
            ]
        }
    }
}


7. 布爾查詢bool

or查詢 age=10 或者 name中包含“張三” 滿足其中一項就可以

should 表示查詢列表中只要有任何一個為真則認為匹配

curl -H "Content-Type: application/json" -XPOST localhost:9200/test2/_search?pretty -d
{
    "query":{
        "bool":{
            "should":[
                {
                    "match":{
                        "age":10
                    }
                },
                {
                    "match":{
                        "name":"張三"
                    }
                }
            ]
        }
    }
}

相關閱讀:

蔡素,公眾號:IT那活兒Elastic search 集群搭建


END


更多精彩干貨分享

點擊下方名片關注

IT那活兒

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129827.html

相關文章

  • 前端資源系列(4)-前端學習資源分享&前端面試資源匯總

    摘要:特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 本以為自己收藏的站點多,可以很快搞定,沒想到一入匯總深似海。還有很多不足&遺漏的地方,歡迎補充。有錯誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應和斧正,會及時更新,平時業務工作時也會不定期更...

    princekin 評論0 收藏0
  • 前端文檔收集

    摘要:系列種優化頁面加載速度的方法隨筆分類中個最重要的技術點常用整理網頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數組函數數據訪問性能優化方案實現的大排序算法一怪對象常用方法函數收集數組的操作面向對象和原型繼承中關鍵詞的優雅解釋淺談系列 H5系列 10種優化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術點 常用meta整理 網頁性能管理詳解 HTML5 ...

    jsbintask 評論0 收藏0
  • 前端文檔收集

    摘要:系列種優化頁面加載速度的方法隨筆分類中個最重要的技術點常用整理網頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數組函數數據訪問性能優化方案實現的大排序算法一怪對象常用方法函數收集數組的操作面向對象和原型繼承中關鍵詞的優雅解釋淺談系列 H5系列 10種優化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術點 常用meta整理 網頁性能管理詳解 HTML5 ...

    muddyway 評論0 收藏0
  • [譯] 前端攻略-從路人甲到英雄無敵二:JavaScript 與不斷演化的框架

    摘要:一般來說,聲明式編程關注于發生了啥,而命令式則同時關注與咋發生的。聲明式編程可以較好地解決這個問題,剛才提到的比較麻煩的元素選擇這個動作可以交托給框架或者庫區處理,這樣就能讓開發者專注于發生了啥,這里推薦一波與。 本文翻譯自FreeCodeCamp的from-zero-to-front-end-hero-part。 繼續譯者的廢話,這篇文章是前端攻略-從路人甲到英雄無敵的下半部分,在...

    roadtogeek 評論0 收藏0
  • 【譯】前端練級攻略

    摘要:由于系統變得越來越復雜,人們提出了稱為預處理器和后處理器的工具來管理復雜性。后處理器在由預處理器手寫或編譯后對應用更改。我之前建議的文章,,也涵蓋了預處理器相關的知識。 譯者:前端小智 原文:medium.freecodecamp.org/from-zero-t… medium.freecodecamp.org/from-zero-t… 我記得我剛開始學習前端開發的時候。我看到了很多文章及...

    wuyumin 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<