ElasticSearch APIs List
Hiện tại tôi không tìm thấy 1 tài liệu nào miêu tả đầy đủ các API của elasticsearch. Vì thế để nắm được API thì tôi đã memo lại tại đây. Version sử dụng là 1.x /pictures/picfullsizes/2018/09/23/mpq1537697385.png Elasticsearch cung cấp các loại API. Theo hình ảnh trên đây, không chỉ có ...
Hiện tại tôi không tìm thấy 1 tài liệu nào miêu tả đầy đủ các API của elasticsearch. Vì thế để nắm được API thì tôi đã memo lại tại đây.
Version sử dụng là 1.x
/pictures/picfullsizes/2018/09/23/mpq1537697385.png
Elasticsearch cung cấp các loại API. Theo hình ảnh trên đây, không chỉ có đăng kí document, search mà còn setting các loại monitoring, maintain để tăng cường khả năng mở rộng API
document API
là API thao tác với document như create và update
【document api】 PUT /{index}/{type}/{id} # update document POST /{index}/{type} # create document GET /{index}/{type}/{id} # get document GET /{index}/{type}/{id}/_source # get _source HEAD /{index}/{type}/{id} # confirm exist document DELETE /{index}/{type}/{id} # delete document POST /{index}/{type}/{id}/_update # update bộ phận document GET /_mget # get many document GET /{index}/_mget # get many document GET /{index}/{type}/_mget # get many document POST /_bluk # delete many document POST /{index}/_bluk # delete many document POST /{index}/{type}/_bluk # delete many document GET /{index}/{type}/{id}/_termvector # get information word statistic GET /_termvectors # get information word statistic of many document GET /{index}/_termvecrots # get information word statistic of many document GET /{index}/{type}/_termvectors # get information word statistic of many document
search api
là API dùng để search document đã được đánh index
【search api】 GET|POST /{index}/{type}/_search # search document {index} ... blank | * | _all | glob pattern | name1, name2, … {type} ... blank | name1, name2, …
Index management
là API thao tác liên quan đến index như là create
【index api】 PUT /{index} # create index DELETE /{index} # delete index HEAD /{index} # confirm exist index POST /{index}/_close # block write index POST /{index}/_open # open write index {index} ... * | _all | glob pattern | name1, name2, …
mapping management
là API quản lý và định nghĩa mapping
【mapping api】 PUT /{index}/_mapping/{type} # định nghĩa mapping PUT /{index}/{type}/_mapping # mapping ngược? GET /{index}/_mapping/{type} # get định nghĩa mapping GET /{index}/{type}/_mapping # get mapping ngược? GET /{index}/_mapping/{type}/field/{field} # get field đinh nghĩa mapping GET /{index}/{type}/_mapping/field/{field} # get filed mapping ngược DELETE /{index}/{type} # delete mapping DELETE /{index}/_mapping/{type} # xoá định nghĩa mapping DELETE /{index}/{type}/_mapping # xoá định nghĩa mapping ngược HEAD /{index}/{type} # confirm type exist {index} ... blank | * | _all | glob pattern | name1, name2, … {type} ... blank | * | _all | glob pattern | name1, name2, … {field} ... * | glob pattern | name1, name2, …
alias management
là API quản lý index alias
【index aliases api】 POST /_aliases # add, delete alias PUT /{index}/_alias/{name} # add alias name DELETE /{index}/_alias/{name} # delete alias GET /{index}/_alias/{name} # get alias information HEAD /{index}/_alias/{name} # check alias exist {index} ... blank | * | _all | glob pattern | name1, name2, … {name} ... blank | * | _all | glob pattern | name1, name2, … ※ định nghĩa alias bao gồm cả việc khi tạo index
index settings
Quản lý việc setting index
【indices settings api】 PUT /{index}/_settings # update setting index GET /{index}/_settings # get setting index {index} ... blank | * | _all | glob pattern | name1, name2, … 【analyze api】 GET /{index}/_analyze # test analyze {index} ... blank | name 【index templates api】 PUT /_template/{name} # setting index template DELETE /_template/{name} # delete index template GET /_template/{name} # get index template {name} ... blank | * | _all | glob pattern | name1, name2, … 【warmer api】 PUT /{index}/{type}/_warmer/{name} # setting form search request DELETE /{index}/{type}/_warmer/{name} # delete form search request GET /{index}/_warmer/{name} # get form search request {index} ... blank | * | _all | glob pattern | name1, name2, … {name} ... blank | * | _all | glob pattern | name1, name2, … ※ có thể sử dụng _warmers thay cho _warmer ※ request form search là create index, setting template
monitoring
API thực hiện việ monitor thông tin status index
GET /{index}/_status # get index status GET /{index}/_stats # get index statistic¥ GET /{index}/_segments # get index shard GET /{index}/_recovery # get recovery index {index} ... blank | * | _all | glob pattern | name1, name2, …
status management
API quản lý các thông tin của index như là cache
【status api】 POST /{index}/_cache/clear # clear thông tin cache của index POST /{index}/_refresh # refresh index POST /{index}/_flush # clear transaction log POST /{index}/_optimize # tối ưu search {index} ... blank | * | _all | glob pattern | name1, name2, … ※ _refresh、_flush là được default thực thi
cat apis
API để export thông tin text
GET /_cat/aliases # get alias index GET /_cat/allocation # get shard and disk used GET /_cat/count/{index} # get the number document of index GET /_cat/health # get cluster information GET /_cat/indices/{index} # get index information GET /_cat/master # get master node GET /_cat/nodes # get structure cluster GET /_cat/pending_tasks # get pending task of cluster GET /_cat/recovery # get replication shard GET /_cat/thread_pool # get thread pool of node GET /_cat/shards # get shard GET /_cat/plugins # get plugin
cluster apis
API thay đổi setting liên quan đến trạng thái của cluster
【cluster api】 GET /_cluster/health/{index} # get healthy cluster GET /_cluster/state/{metrics}/{index} # get summary status cluster GET /_cluster/stats # get cluster status GET /_cluster/pending_tasks # get pending task POST /_cluster/reroute # get index reroute PUT /_cluster/settings # update setting cluster GET /_cluster/settings # get setting cluster GET /_nodes/{nodeIds}/stats/{stats} # get node label GET /_nodes/{nodeIds}/{info} # get node information GET /_nodes/{nodeIds}/hot_threads # get hight thread POST /_cluster/nodes/{nodeIds}/_shutdown # stop node {index} ... blank | * | _all | glob pattern | name1, name2, … {nodeIds} ... blank | _all | _local | ip addresses | names | attributes {info} ... blank | settings | os | process | jvm | thread_pool | network | transport | http | plugins {stats} ... blank | indices | fs | http | jvm | network | os | process | thread_pool | transport | breaker
Pretty
muốn export kết quả dưới dạng JSON cho dễ nhìn chúng ta sử dụng tham số pretty
?pretty=true
Muốn export format YAML
?format=yaml
Ngoài ra kết quả cũng có thể export ra file khi sử dụng lệnh cURL
$ vi tweet1.js { "user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch" }
khi sử dụng để xem nội dung của index
$ curl -XPUT 'localhost:9200/twitter/tweet/1' -d @tweet1.js