Elasticsearch中常用的API
阿新 • • 發佈:2019-01-28
elasticsearch中常用的API分類如下:
文件API: 提供對文件的增刪改查操作
搜尋API: 提供對文件進行某個欄位的查詢
索引API: 提供對索引進行操作,檢視索引資訊等
檢視API: 按照更直觀的形式返回資料,更適用於控制檯請求展示
叢集API: 對叢集進行檢視和操作的API
下面簡單的一一介紹記錄一下。
文件類API
Index API: 建立並建立索引
PUT twitter/tweet/1{ "user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch" }
Get API: 獲取文件
curl -XGET 'http://localhost:9200/twitter/tweet/1'
DELETE API: 刪除文件
$ curl -XDELETE 'http://localhost:9200/twitter/tweet/1'
UPDATE API: 更新文件
PUT test/type1/1{ "counter" : 1, "tags" : ["red"]}
Multi Get API: 一次批量獲取文件
curl 'localhost:9200/_mget' -d '{ "docs" : [{ "_index" : "test", " _type" : "type", "_id" : "1" }, { "_index" : "test", "_type" : "type", "_id" : "2" } ]}'
Bulk API: 批量操作,批量操作中可以執行增刪改查
$ curl -s -XPOST localhost:9200/_bulk --data-binary "@requests"; echo{"took":7, "errors": false, "items": [{"index":{"_index":"test","_type":"type1","_id":"1","_version":1,"result" :"created","forced_refresh":false}}]}
DELETE By Query API: 根據查詢刪除
POST twitter/_delete_by_query{ "query": { "match": { "message": "some message" } }}
Update By Query API: 根據查詢更新
POST twitter/_update_by_query?conflicts=proceed
Reindex API:重建索引
POST _reindex{ "source": { "index": "twitter" }, "dest": { "index": "new_twitter" }}
Term Vectors: 片語分析,只能針對一個文件
curl -XGET 'http://localhost:9200/twitter/tweet/1/_termvectors?pretty=true'
Multi termvectors API: 多個文件的片語分析
curl 'localhost:9200/_mtermvectors' -d '{ "docs": [{ "_index": "testidx", "_type": "test", "_id": "2", "term_statistics": true }, { "_index": "testidx", "_type": "test", "_id": "1", "fields": ["text" ] } ]}'
搜尋類API
URI Search:url中傳參
GET twitter/tweet/_search?q=user:kimchy
Request Body搜尋介面: 搜尋的條件在請求的body中
GET /twitter/tweet/_search{ "query" : { "term" : { "user" : "kimchy" } }}
搜尋模版設定介面: 可以設定搜尋的模版,模版的功能是可以根據不同的傳入引數,進行不同的實際搜尋
搜尋分片查詢介面: 查詢這個搜尋會使用到哪個索引和分片
Suggest介面: 搜尋建議介面,輸入一個詞,根據某個欄位,返回搜尋建議。
批量搜尋介面: 把批量請求放在一個檔案中,批量搜尋介面讀取這個檔案,進行搜尋查詢
Count介面: 只返回符合搜尋的文件個數
文件存在介面: 判斷是否有符合搜尋的文件存在
驗證介面: 判斷某個搜尋請求是否合法,不合法返回錯誤資訊
解釋介面: 使用這個介面能返回某個文件是否符合某個查詢,為什麼符合等資訊
抽出器介面: 簡單來說,可以用這個介面指定某個文件符合某個搜尋,事先未文件建立對應搜尋
索引類API
建立索引介面(POST my_index)
刪除索引介面(DELETE my_index)
獲取索引資訊介面(GET my_index)
索引是否存在介面(HEAD my_index)
開啟/關閉索引介面(my_index/_close, my_index/_open)
設定索引對映介面(PUT my_index/_mapping)
獲取索引對映介面(GET my_index/_mapping)
獲取欄位對映介面(GET my_index/_mapping/field/my_field)
型別是否存在介面(HEAD my_index/my_type)
刪除對映介面(DELTE my_index/_mapping/my_type)
索引別名介面(_aliases)
更新索引設定介面(PUT my_index/_settings)
獲取索引設定介面(GET my_index/_settings)
分析介面(_analyze): 分析某個欄位是如何建立索引的
建立索引模版介面(_template): 為索引建立模版,以後新建立的索引都可以按照這個模版進行初始化
預熱介面(_warmer): 某些查詢可以事先預熱,這樣預熱後的資料存放在記憶體中,增加後續查詢效率
狀態介面(_status): 索引狀態
批量索引狀態介面(_stats): 批量查詢索引狀態
分片資訊介面(_segments): 提供分片資訊級別的資訊
索引恢復介面(_recovery): 進行索引恢復操作
清除快取介面(_cache/clear): 清除所有的快取
輸出介面(_flush)
重新整理介面(_refresh)
優化介面(_optimize): 對索引進行優化
升級介面(_upgrade): 這裡的升級指的是把索引升級到lucence的最新格式
檢視類API
檢視別名介面(_cat/aliases): 檢視索引別名
檢視分配資源介面(_cat/allocation)
檢視文件個數介面(_cat/count)
檢視欄位分配情況介面(_cat/fielddata)
檢視健康狀態介面(_cat/health)
檢視索引資訊介面(_cat/indices)
檢視master資訊介面(_cat/master)
檢視nodes資訊介面(_cat/nodes)
檢視正在掛起的任務介面(_cat/pending_tasks)
檢視外掛介面(_cat/plugins)
檢視修復狀態介面(_cat/recovery)
檢視線城池介面(_cat/thread_pool)
檢視分片資訊介面(_cat/shards)
檢視lucence的段資訊介面(_cat/segments)
叢集類API
檢視叢集健康狀態介面(_cluster/health)
檢視叢集狀況介面(_cluster/state)
檢視叢集統計資訊介面(_cluster/stats)
檢視叢集掛起的任務介面(_cluster/pending_tasks)
叢集重新路由操作(_cluster/reroute)
更新叢集設定(_cluster/settings)
節點狀態(_nodes/stats)
節點資訊(_nodes)
節點的熱執行緒(_nodes/hot_threads)
關閉節點(/nodes/_master/_shutdown)