Elasticsearch常用命令和使用

2021-10-09 18:18:20 字數 3703 閱讀 6518

elasticsearch 具有一組豐富的易於理解的 rest api,這些 api  均可如下幾種方式通過 http 呼叫進行訪問。

原因如下:

本文結合多年實戰經驗和網路資源,梳理出開發環節最重要的命令清單,希望對你有幫助!

舉個栗子:

post products/_search?size=0}}}

呼叫rest api很容易,除了實際的主機名/ ip和埠外,它還包含四個部分:

在kibana中,您可以直接指定這些名稱,對於curl,請使用-x選項。

對應示例中的:post

對應示例中的:products/_search,其中products是索引。

例如?h或?v

對應示例中的:?size=0。引數設定部分。

對應示例中的:檢索語句部分。

有一些通用選項適用於許多(不是全部)url。這些是:

將在列表中提供 api 可用的字段,其中包含短名稱和長名稱、說明等。

舉例:

get _cat/indices?help
舉例:

get _cat/indices?h=docs.count,store.size
這樣以後返回結果一頭霧水,相當於 excel 有 n 列欄位,但沒有表頭一樣,很痛苦!

get _cat/indices?h=docs.count,store.size&v
-v 引數的妙處主要體現在:加上了表頭,直觀互動呈現。

如下所示:我們可能會看到節點列表。包括:返回欄位名稱,欄位名稱要顯示並按名稱name排序:

get /_cat/nodes?v&h=heap.percent,diskusedpercent,cpu,master,name&s=name
另外,kibana 會將您的 dev tools 查詢儲存在 cookie 中。

有了上面的背景知識,下面的常見開發相關的常用命令清單看起來就相對容易了。

最有用的 api 呼叫通常與集群的執行狀況,狀態和統計資訊有關,例如:

get /
get /_cluster/health
用途:用來監視負載和磁碟使用情況以及主機角色。

get /_cat/nodes?v&h=heap.percent,diskusedpercent,cpu,load_1m,master,name&s=name
get /_cluster/health?level=indices&pretty
get /_cluster/health?level=shards&pretty
用途:有助於基本故障排除。

get /_cluster/stats
get /_nodes/stats
get /_cat/thread_pool?v&h=node_name,name,type,active,size,queue,queue_size,rejected,largest,completed,min,max&s=node_name,name
get /_nodes/hot_threads/
例如:所有這些logstash *字首索引的文件總數的方法。

get /_cat/count/logstash*?v
包含:大小,文件計數,狀態等。

get /_cat/indices/logstash*?v
get /_cat/indices/logstash-*?v&h=index,ss&s=ss:desc
get /_cat/indices?v&health=yellow
elasticsearch中有許多設定,但最常見的是「集群」和「索引」級別。

最基本的集群設定檢視——顯示非預設的永續性和瞬態設定資訊。

get /_cluster/settings
更大的列表檢視——包括所有預設值,並使用平面檢視使其更易於閱讀。

get /_cluster/settings?include_defaults=true&flat_settings=true
獲取指定索引的設定列表資訊。

get /logstash-cron-2020.08.03/_settings
get /logstash-cron-2020.08.03
支援單個或者模糊匹配多個索引。

post /logstash-*-2020.03.*/_close
支援單個或者模糊匹配多個

delete /logstash-*-2020.04.*
之前運維清單有過陳述,開發也需要。

get /_cat/shards?v&h=n,index,shard,prirep,state,sto,sc,unassigned.reason,unassigned.details&s=sto,index
get _cat/shards?v&h=index,shard,prirep,state,unassigned.reason&s=state
get /_cluster/allocation/explain
get /_cluster/alloget /_cluster/allocation/explain 

cation/explain 

put _cluster/settings?pretty

}

get /_cat/templates?v&s=order,name
get /_template/logstash
get /_snapshot
get /_snapshot/_status
get /_cat/snapshots/my_repository?v&h=id,status,start_time,duration,indicies,successful_shards,failed_shards,total_shards
get /_cat/allocation?v
get /_cat/recovery?v
get /_cat/pending_tasks?v
post /_cache/clear
清單沒有面面俱到,清單的目的只是梳理知識體系。

而基礎知識的習得還是建議通過官方文件檢視即可,前提:熟悉官方文件的目錄結構,做到會查、快查,逐步掌握開發實戰知識。

elasticsearch常用操作

es模板postman常用操作 類別方法 url描述 查詢模板get http ip 9200 template template 查詢模板中template開頭的所有模板 為萬用字元 查詢特定的模板get http ip 9200 template vias business查詢名為vias bu...

elastic search常用操作

常用操作 查詢所有索引及狀態 get cat indices?v 查詢productsearchuat索引,預設返回一條資料 get productsearchuat search 知道product id 查es索引 get productsearchuat search 通過企業名稱查詢企業 g...

elasticsearch常用curl鏈結

1 測試es是否啟動成功 pretty引數是為了讓查詢結果更方便閱讀 3 建立megacorp索引 employee型別 id為1的資料 索引名必須小寫,不能以下劃線開頭,不能包含逗號。型別命名可以是大寫或者小寫,但是不能以下劃線或者句號開頭,不應該包含逗號,並且長度限制為256個字元。如果該id的...