本文所列的所有API在ElasticSearch文档是有详尽的说明,但它的结构组织的不太好。 这篇文章把ElasticSearch API用表格的形式供大家参考。
Category | Description | Call examples | |
---|---|---|---|
Document API | Single Document API | Adds a new document | PUT /my_index/my_type/1 { "my_field" : "my_value" } PUT /my_index/my_type { … } PUT /my_index/my_type/1/_create { … } |
Gets an existing document | GET /my_index/my_type/0 | ||
Deletes a document | DELETE /my_index/my_type/0 | ||
Updates a document | POST /my_index/my_type/1/_update { … } | ||
Multi-Document API | Multi-get | GET /_mget { "docs" : [ { "_index" : "my_index", "_type" : "my_type", … } ] } GET /my_index/_mget { "docs" : [ { "_type" : "my_type", … } ] } GET /my_index/my_type/_mget { "docs" : [ { … } ] } | |
Performs many index/delete operations in one call | |||
Deletes by query | POST /my_index/_delete_by_query { "query": { "match": { … } } } | ||
Updates by query | POST /my_index/_update_by_query?conflicts=proceed POST /my_index/_update_by_query?conflicts=proceed { "query": { "term": { "my_field": "my_value" } } } POST /my_index1,my_index2/my_type1,my_type2/_update_by_query | ||
Reindexes | POST /_reindex { "source": { "index": "old_index" }, "dest": { "index": "new_index" } } | ||
Search API | URI Search | Executes a search with query parameters on the URL | GET /my_index/my_type/_search?q=my_field:my_field GET /my_index/my_type/_search { "query" : { "term" : { "my_field" : "my_value" } } } |
Search Shards API | Gets indices/shards of a search would be executed against | GET /my_index/_search_shards | |
Count API | Executes a count query | GET /my_index/my_type/_count?q=my_field:my_value GET /my_index/my_type/_count { "query" : { "term" : { "my_field" : "my_value" } } } | |
Validate API | Validates a search query | GET /my_index/my_type/_validate?q=my_field:my_value GET /my_index/my_type/_validate { "query" : { "term" : { "my_field" : "my_value" } } } | |
Explain API | Provides feedback on computation of a search | GET /my_index/my_type/0/_explain GET /my_index/my_type/0/_explain?q=message:search | |
Profile API | Provides timing information on individual components during a search | GET /_search { "profile": true, "query" : { … } } | |
Field Stats API | Finds statistical properties of fields without executing a search | GET /_field_stats GET /my_index/_field_stats GET /my_index1,my_index2/_field_stats | |
Indices API | Index management | Instantiates a new index | PUT /my_index { "settings" : { … } } |
Deletes existing indices | DELETE /my_index DELETE /my_index1,my_index2 DELETE /my_index* DELETE /_all | ||
Retrieves information about indices | GET /my_index GET /my_index* GET my_index/_settings,_mappings | ||
Checks whether an index exists | HEAD /my_index | ||
Closes/opens an index | POST /my_index/_close POST /my_index/_open | ||
Shrinks an index to a new index with fewer primary shards | |||
Rolls over an alias to a new index if conditions are met | POST /my_index/_rollover { "conditions": { … } } | ||
Mapping management | Adds a new type to an existing index | PUT /my_index/_mapping/new_type { "properties": { "my_field": { "type": "text" } } } | |
Retrieves mapping definition for fields | GET /my_index/_mapping/my_type/field/my_field GET /my_index1,my_index2/_mapping/my_type/field/my_field GET /_all/_mapping/my_type1,my_type2/field/my_field1,my_field2 GET /_all/_mapping/my_type1*/field/my_field* | ||
Checks whether a type exists | HEAD /my_index/_mapping/my_type | ||
Alias management | Creates an alias over an index | POST /_aliases { "actions" : [ { "add" : { "index" : "my_index", "alias" : "my_alias" } } ] } POST /_aliases { "actions" : [ { "add" : { "index" : ["index1", "index2"] , "alias" : "another_alias" } } ] } | |
Removes an alias | POST /_aliases { "actions" : [ { "remove" : { "index" : "my_index", "alias" : "my_old_alias" } } ] } | ||
Index settings | Updates settings of indices | PUT /my_index/_settings { … } | |
Retrieves settings of indices | GET /my_index/_settings | ||
Performs an analysis process of a text and return the tokens | GET /_analyze { "analyzer" : "standard", "text" : "this is a test" } | ||
Creates a new template | PUT /_template/my_template { … } | ||
Deletes an existing template | DELETE /_template/my_template | ||
Gets info about an existing template | GET /_template/my_template | ||
Checks whether a template exists | HEAD /_template/my_template | ||
Replica configuration | Sets index data location on a disk | ||
Monitoring | Provides statistics on indices | GET /_stats GET /my_index1/_stats GET /my_index1,my_index2/_stats GET /my_index1/_stats/flush,merge | |
Provides info on Lucene segments | GET /_segments GET /my_index1/_segments GET /my_index1,my_index2/_segments | ||
Provide recovery info on indices | GET /_recovery GET /my_index1/_recovery GET /my_index1,my_index2/_recovery | ||
Provide store info on shard copies of indices | GET /_shard_stores GET /my_index1/_shard_stores GET /my_index1,my_index2/_shard_stores | ||
Status management | Clears the cache of indices | POST /_cache/clear POST /my_index/_cache/clear POST /my_index1,my_index2/_cache/clear | |
Explicitly refreshes indices | POST /_refresh POST /my_index/_refresh POST /my_index1,my_index2/_refresh | ||
Flushes in-memory transaction log on disk | POST /_flush POST /my_index/_flush POST /my_index1,my_index2/_flush | ||
Merge Lucene segments | POST /_forcemerge POST /my_index/_forcemerge POST /my_index1,my_index2/_forcemerge | ||
cat API | cat aliases | Shows information about aliases, including filter and routing infos | GET /_cat/aliases?v GET /_cat/aliases/my_alias?v |
cat allocations | Provides a snapshot on how many shards are allocated and how much disk space is used for each node | GET /_cat/allocation?v | |
cat count | Provides quick access to the document count | GET /_cat/count?v GET /_cat/count/my_index?v | |
cat fielddata | Shows heap memory currently being used by fielddata | GET /_cat/fielddata?v GET /_cat/fielddata/my_field1,my_field2?v | |
cat health | One-line representation of the same information from /_cluster/health | GET /_cat/health?v GET /_cat/health?v&ts=0 | |
cat indices | Provides a node-spanning cross-section of each index |