成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ES常用基礎(chǔ)操作命令及實(shí)踐

IT那活兒 / 3531人閱讀
ES常用基礎(chǔ)操作命令及實(shí)踐
一. ES集群環(huán)境



二. ES基本操作命令_cat

1. 基本參數(shù)

verbose:顯示列名, 請(qǐng)求參數(shù)為v

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

help:顯示當(dāng)前命令的各列含義, 請(qǐng)求參數(shù)為help. 某些命令部分列默認(rèn)不顯示,可通過help該命令可顯示的所有列

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

bytes: 數(shù)值列以指定單位顯示, 默認(rèn)轉(zhuǎn)為以kb/mb/gb表示

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

header:顯示指定列的信息,請(qǐng)求參數(shù)為h

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


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

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

實(shí)例: curl localhost:9200/_cat/segments/new_index_20210621?v


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

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

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


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

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

先給索引創(chuàng)建個(gè)別名: curl -XPUT localhost:9200/new_index_20210618/_alias/a1?pretty

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


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

查看各shard的詳細(xì)情況,包括shard的分布, 當(dāng)前狀態(tài)(對(duì)于分配失敗的shard會(huì)有失敗原因), doc數(shù)量, 磁盤占用情況, shard的訪問情況(如所有g(shù)et請(qǐng)求的成功/失敗次數(shù)以及對(duì)應(yīng)耗時(shí)等). 可以指定index只查看某個(gè)index的shard信息(/_cat/shards/${index})

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


6. 查看單節(jié)點(diǎn)磁盤使用情況(/_cat/allocation)

查看單節(jié)點(diǎn)的shard分配整體情況

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


7. 查看單節(jié)點(diǎn)的自定義屬性(/_cat/nodeattrs)

查看單節(jié)點(diǎn)的自定義屬性

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


8. 查看集群當(dāng)前狀態(tài)(/_cat/health)

查看集群當(dāng)前狀態(tài), 包括data節(jié)點(diǎn)個(gè)數(shù),primary shard個(gè)數(shù)等基本信息

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

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


9. 查看集群各個(gè)節(jié)點(diǎn)的當(dāng)前狀態(tài)(/_cat/nodes)

查看集群各個(gè)節(jié)點(diǎn)的當(dāng)前狀態(tài), 包括節(jié)點(diǎn)的物理參數(shù)(包括os/jdk版本, uptime, 當(dāng)前mem/disk/fd使用情況等), 請(qǐng)求訪問情況(如search/index成功和失敗的次數(shù))等詳細(xì)信息

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


10. 查看集群master節(jié)點(diǎn)(/_cat/master)

查看集群中的master節(jié)點(diǎn)

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


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

查看當(dāng)前集群各個(gè)節(jié)點(diǎn)的fielddata內(nèi)存使用情況,默認(rèn)是關(guān)閉的

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


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

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

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


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

查看當(dāng)前集群的pending task(等待事件),測(cè)試環(huán)境沒業(yè)務(wù)

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

14. 查看集群各節(jié)點(diǎn)的plugin信息(/_cat/plugins)

查看集群各個(gè)節(jié)點(diǎn)上的plugin(插件)信息,測(cè)試環(huán)境沒有安裝插件

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


三. ES索引基本操作命令

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

curl localhost:9200/_cat/indices?v


2.創(chuàng)建新的索引【索引要求是全小寫字符,可以有下劃線隔開】
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"
          }
        }
      }
   }
}

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

官方文檔:

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


所以在Elasticsearch7中應(yīng)該這么創(chuàng)建索引,也可創(chuàng)建索引后再修改mapping(pretty輸出結(jié)果已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不支持索引重命名,只能將原索引復(fù)制到新索引

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

5. 開啟關(guān)閉索引,索引關(guān)閉后只能查看索引配置信息,不能對(duì)索引的數(shù)據(jù)進(jìn)行讀寫操作

關(guān)閉: 

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(映射,相當(dāng)于數(shù)據(jù)庫的表結(jié)構(gòu))

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數(shù)據(jù)(文檔)基本操作命令

1.創(chuàng)建新的索引庫test2

curl -XPUT localhost:9200/test2?pretty

2.像新建的test2索引庫中插入一條數(shù)據(jù)

數(shù)據(jù)插入后會(huì)自動(dòng)生成mapping,字段類型默認(rèn)為text,時(shí)間字段類型為date

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

3. 查詢新插入的數(shù)據(jù)

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

4. 修改數(shù)據(jù),每修改一次_version加1

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

即使用相同的新增命令操作相同的ID,數(shù)據(jù)不同

或者使用_update更新數(shù)據(jù)

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

5. 使用簡單的腳本修改數(shù)據(jù)

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

6. 根據(jù)ID刪除數(shù)據(jù)

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命令導(dǎo)入數(shù)據(jù)集文件json文件

創(chuàng)建test.json文件,確保ES用戶有讀取該文件的權(quán)限。

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}
指定要導(dǎo)入的  索引、type、使用bulk命令  @符號(hào)后面跟json文件的絕對(duì)路徑

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

查看索引文檔數(shù)為9,增加了5個(gè)


六. ES _search查詢命令

1. 查詢某個(gè)索引中的所有數(shù)據(jù)

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

2. 查詢某個(gè)索引中的2條數(shù)據(jù)

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

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

        }
    },
    "size":2
}

3. 查詢某個(gè)索引中的2條數(shù)據(jù),從第二條數(shù)據(jù)開始

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的數(shù)據(jù)

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

6. 布爾查詢 bool

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

must表示所有查詢必須都為真才被認(rèn)為匹配

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中包含“張三” 滿足其中一項(xiàng)就可以

should 表示查詢列表中只要有任何一個(gè)為真則認(rèn)為匹配

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

相關(guān)閱讀:

蔡素,公眾號(hào):IT那活兒Elastic search 集群搭建


END


更多精彩干貨分享

點(diǎn)擊下方名片關(guān)注

IT那活兒

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129827.html

相關(guān)文章

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

    摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...

    princekin 評(píng)論0 收藏0
  • 前端文檔收集

    摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個(gè)最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對(duì)象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個(gè)最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...

    jsbintask 評(píng)論0 收藏0
  • 前端文檔收集

    摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個(gè)最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對(duì)象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個(gè)最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...

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

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

    roadtogeek 評(píng)論0 收藏0
  • 【譯】前端練級(jí)攻略

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

    wuyumin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<