# Snapshot And Restore
# 快照和還原
`快照`和`還原`模塊支持創建單獨索引或整個集群的快照到遠程倉庫,像共享文件系統、S3或HDFS等。你可以非常方便地進行快照備份以及比較迅速地進行快照還原,但快照的還原需要Elasticsearch的版本能正確的讀取索引文件。這意味著:
- 在2.x版本中創建的索引的快照可以恢復到5.x
- 在1.x版本中創建的索引的快照可以恢復到2.x
- 在1.x版本中創建的索引的快照不可以恢復到5.x
要恢復在1.x版本中創建的索引快照到5.x,你可以先將其恢復到2.x版本的集群,然后[重建索引](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html#reindex-from-remote)到5.x集群。因為是從原始數據存檔的副本恢復, 這會比較耗時。
## 倉庫
在執行任何快照或還原操作之前,應在先在Elasticsearch創建一個快照倉庫。指定倉庫的類型等,詳情請參閱下文。
```
PUT /_snapshot/my_backup
{
"type": "fs",
"settings": {
... repository specific settings ...
}
}
```
一旦存儲倉庫被創建好,可使用下面的命令來查詢其信息:
```
GET /_snapshot/my_backup
```
將返回:
```
{
"my_backup": {
"type": "fs",
"settings": {
"compress": true,
"location": "/mount/backups/my_backup"
}
}
}
```
可以用逗號分隔庫名來一次獲取多個快照倉庫的信息,支持通配符`*`。例如,獲取以repo開頭以及包含backup的所有倉庫信息 可以使用下面的命令來獲得:
```
GET /_snapshot/repo*,*backup*
```
如果沒有指定倉庫名稱,或使用`_all`用作倉庫名來查詢,Elasticsearch將返回當前集群中注冊的所有倉庫信息:
```
GET /_snapshot
```
或者
```
GET /_snapshot/_all
```
### 共享文件系統倉庫
共享文件系統倉庫("type": "fs")使用共享文件系統來存儲快照。如果要創建一個共享文件系統類型的快照倉庫,你需要在Elasticsearch集群的所有主節點與數據節點上掛載同一個共享文件系統到同一路徑下。這個路徑(或它的父目錄中的一個)必須在集群所有主節點和數據節點上的`path.repo`設置項中進行配置。
如果共享文件系統被掛載到`/mount/backups/my_backup`,下面的配置應被添加到`elasticsearch.yml`文件中:
```
path.repo: ["/mount/backups", "/mount/longterm_backups"]
```
`path.repo`的配置支持微軟的Windows UNC路徑格式,但需要將服務器名與指定的共享路徑前綴采用斜杠正確轉義:
```
path.repo: ["\\\\MY_SERVER\\Snapshots"]
```
所有節點重新啟動后,下面的命令可以被用于創建一個名為`my_backup`的共享文件系統倉庫:
```
$ curl -XPUT 'http://localhost:9200/_snapshot/my_backup' -H 'Content-Type: application/json' -d '{
"type": "fs",
"settings": {
"location": "/mount/backups/my_backup",
"compress": true
}
}'
```
如果存儲倉庫的`location`被設置為一個相對路徑,那么倉庫存儲路徑將基于`path.repo`設置的路徑開始解析:
```
$ curl -XPUT 'http://localhost:9200/_snapshot/my_backup' -H 'Content-Type: application/json' -d '{
"type": "fs",
"settings": {
"location": "my_backup",
"compress": true
}
}'
```
下面的一些配置將被支持:
參數名描述location快照存放的位置。必須設置,不能為空。compress是否開啟快照文件的壓縮。壓縮僅處理元數據文件(索引的映射與配置信息)。數據文件不會被壓縮。默認為true。chunk\_size可以根據需要在創建快照過程中將大文件分解成塊。塊大小以字節為單位,或直接指定大小單位,例如:1g,10m,5k。默認為null(不限制塊大小)。max\_restore\_bytes\_per\_sec每個節點在快照還原時的速率。默認為40mb每秒。max\_snapshot\_bytes\_per\_sec每個節點在快照創建時的速率。默認為40mb每秒。readonly標記倉庫為只讀。默認為false。### 只讀URL倉庫
URL倉庫("type": "url")可以被用作另一種只讀方式去訪問共享文件系統倉庫的數據。需要指定`url`參數為共享文件系統倉庫的根路徑。下面的一些設置將被支持:
參數名描述url快照的位置。必須設置,不能為空。URL倉庫支持以下協議: “HTTP”, “HTTPS”, “FTP”, “file”和“jar”。URL倉庫在使用`http:`, `https:`和`ftp:`協議的路徑時,必須指定允許的URL被列入白名單`repositories.url.allowed_urls`,此設置在主機、路徑、查詢參數和片段的地方支持通配符。例如:
```
repositories.url.allowed_urls: ["http://www.example.org/root/*", "https://*.mydomain.com/*?*#*"]
```
URL倉庫在使用`file:`協議的路徑時,路徑只能指向配置在`path.repo`中的設置,配置方式類似于共享文件系統倉庫。
### 倉庫插件
官方可用的其他倉庫插件:
- [repository-s3](https://www.elastic.co/guide/en/elasticsearch/plugins/5.3/repository-s3.html)支持S3倉庫
- [repository-hdfs](https://www.elastic.co/guide/en/elasticsearch/plugins/5.3/repository-hdfs.html)支持Hadoop環境的的HDFS倉庫
- [repository-azure](https://www.elastic.co/guide/en/elasticsearch/plugins/5.3/repository-azure.html)支持Azure的倉庫
- [repository-gcs](https://www.elastic.co/guide/en/elasticsearch/plugins/5.3/repository-gcs.html)支持谷歌云存儲倉庫
### 倉庫驗證
當倉庫創建完成后,會立即核實所有主節點與數據節點,以確保集群上所有節點上的功能。該`verify`參數可用于在創建或更新倉庫時顯式地禁用倉庫驗證:
```
PUT /_snapshot/s3_repository?verify=false
{
"type": "s3",
"settings": {
"bucket": "my_s3_bucket",
"region": "eu-west-1"
}
}
```
驗證過程也可通過運行下面的命令手動執行:
```
POST /_snapshot/s3_repository/_verify
```
它將返回驗證成功的所有節點,或者是驗證失敗的消息。
## 快照
一個倉庫可以包含相同的集群的多個快照。快照需要在集群內標記成一個唯一的名稱。以下是在`my_backup`的倉庫中創建一個名為`snapshot_1`的快照指令:
```
PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true
```
`wait_for_completion`參數標識此請求是否需要等待快照創建完成,默認立即返回,不等待快照創建結束。在快照創建開始時,所有之前的快照信息都將被加載到內存,這意味著一個大倉庫執行此命令可能需要幾秒鐘(或甚至幾分鐘)才能返回,即使該命令的`wait_for_completion`參數設置為false。
創建快照時,默認會將集群中所有打開和已開始的索引全部備份,也可以通過設置創建快照的參數體來為指定為哪些索引創建快照。
```
PUT /_snapshot/my_backup/snapshot_1
{
"indices": "index_1,index_2",
"ignore_unavailable": true,
"include_global_state": false
}
```
快照包含的索引列表可以通過`indices`參數設置,支持[多索引語法](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html#search-multi-index-type)。快照請求還支持`ignore_unavailable`選項,設置它`true`會在快照創建過程中忽略不存在的索引錯誤,默認情況下`ignore_unavailable`參數未設置,在創建快照時如果缺少一個索引將會失敗。通過設置`include_global_state`為`false`,可以在創建的快照中不存儲集群的全局狀態信息。默認情況下,如果參與快照的一個或多個索引沒有可用的主分片,則整個快照將失敗,這種行為可以通過設置`partial`為`true`來改變。
索引創建快照時是增量的處理時。在創建索引快照時,Elasticsearch會分析創庫中已存儲的快照信息,只復制上一次快照后發生的新增、或發生變化的文件。它允許多個快照保存在一個倉庫中。創建快照過程采用非阻塞方式執行。正在執行創建快照的索引可以繼續執行索引和搜索操作。但快照是表示在創建快照那一瞬間點的索引視圖,所以在快照開始執行之后添加到索引將不存在于快照中。快照在主分片上會立即開始執行,快照開始后這個集群分片將不會遷移。1.2.0版本之前,在創建快照時如果群集有參與快照的索引的任何主分片搬遷或初始化動作,創建快照都將會失敗。從1.2.0版本開始,Elasticsearch將等待分片搬遷或初始化完成之后再執行快照。
除了創建每個索引的備份外,快照也可以存儲全局集群的元數據,其中包括群集的持久化設置和模板信息,臨時設置和已創建的快照倉庫將不會作為快照的一部分存儲。
在一個集群中,同一時間只能有一個創建快照的進程被執行。雖然已經開始創建快照的分片不能移動到另一個節點,但可能會干擾集群的再平衡處理和分配過濾。Elasticsearch將只能在快照結束時,根據當前分配過濾設置和再平衡算法將一個分片移動到另一個節點。
一旦開始創建快照,可以通過如下命令來查詢此快照的有關信息:
```
GET /_snapshot/my_backup/snapshot_1
```
此命令返回的快照相關信息包括起始和結束時間、創建快照的elasticsearch版本、包含的索引列表、快照的當前狀態、以及在快照創建過程中發生故障的索引列表。快照狀態如下:
狀態碼描述IN\_PROGRESS當前快照正在運行。SUCCESS創建快照完成并且所有分片都存儲成功。FAILED創建快照失敗,沒有存儲任何數據。PARTIAL集狀態全局狀態已儲存,但至少有一個分片的數據沒有存儲成功。在返回的`failure`字段中包含了相關未正確處理的分片詳細信息。INCOMPATIBLE快照是由一個老版本的elasticsearch創建,因此與集群的當前版本不兼容。跟倉庫類似,多個快照可以在一個請求查詢,還支持通配符:
```
GET /_snapshot/my_backup/snapshot_*,some_other_snapshot
```
下面指令介紹了如何查詢倉庫中的所有快照:
```
GET /_snapshot/my_backup/_all
```
如果一些快照不可用導致查詢失敗,可以通過設置布爾參數`ignore_unavailable`來返回當前可用的所有快照。
正在運行中的快照可以使用下面的命令來查詢:
```
$ curl -XGET "localhost:9200/_snapshot/my_backup/_current"
```
快照可以使用下面的命令來從倉庫中刪除:
```
DELETE /_snapshot/my_backup/snapshot_1
```
當一個快照從版本庫中刪除,Elasticsearch將刪除此快照關聯的但不被其它快照引用的所有文件。一旦刪除快照動作執行,此快照當前正在創建的進程將被終止并且已創建的文件都將被清理。因此,刪除快照操作可以用于取消錯誤啟動的長時間運行的快照操作。
可以使用下面的命令刪除整個倉庫:
```
DELETE /_snapshot/my_backup
```
當倉庫被刪除時,Elasticsearch只是刪除快照的倉庫位置引用信息。快照本身沒有刪除,并在原來的位置。
## 還原
快照可以使用下面的命令來還原:
```
POST /_snapshot/my_backup/snapshot_1/_restore
```
默認情況下,快照中的所有索引都會被還原,集群的全局設置不會被還原。這可能是最好的還原選擇,允許通過設置`indices`與`include_global_state`參數來控制還原集群的全局設置與索引。索引列表支持[多索引語法](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html#search-multi-index-type)。`rename_pattern`與`rename_replacement`選項可以在還原時通過正則表達式來重命名索引,如何匹配可參見[這里](http://docs.oracle.com/javase/6/docs/api/java/util/regex/Matcher.html#appendReplacement(java.lang.StringBuffer,_java.lang.String))。設置`include_aliases`為`false`可以防止別名和關聯的索引一起被還原。
```
POST /_snapshot/my_backup/snapshot_1/_restore
{
"indices": "index_1,index_2",
"ignore_unavailable": true,
"include_global_state": true,
"rename_pattern": "index_(.+)",
"rename_replacement": "restored_index_$1"
}
```
還原操作可以在正常工作的集群上執行。但是,已存在的索引需要先[關閉](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html)后才能還原,并要跟快照中的索引具有相同數目的分片。還原操作將自動打開已存在的關閉的索引,如果被還原的索引在集群中不存在,將創建新的索引。如果需要還原群集狀態`include_global_state`(默認false),所有不存在的模板都會新增、已存在的會使用快照中的同名模板替換,持久化設置也將被添加到現有的持久化設置中。
### 部分還原
默認情況下,如果參與操作的一個或多個索引沒有可用的快照分片,整個還原操作都將失敗。這可能是創建快照時一些分片備份失敗,你依然可以通過設置`partial`參數為`true`來盡可能的去還原。請注意,只有備份成功的分片才會在這種情況還原,所有丟失的分片將被創建成一個空的分片。
### 還原過程中更改索引設置
大多數的索引設置可以在還原過程中被重寫。例如,下面的指令將在還原索引`index_1`時,不創建任何副本以及采用默認的索引刷新間隔:
```
POST /_snapshot/my_backup/snapshot_1/_restore
{
"indices": "index_1",
"index_settings": {
"index.number_of_replicas": 0
},
"ignore_index_settings": [
"index.refresh_interval"
]
}
```
請注意,有一些設置不能在還原時修改,如`index.number_of_shards`。
### 還原到不同集群
存儲在快照中的信息是不依賴于特定的群集或群集名稱的,因此有可能從一個集群還原另一個群集創建的快照。在開始還原前,需要在新的集群中創建一個包含了原快照文件的倉庫,新的群集不必具有相同的大小或拓撲。然而,新集群的版本應該比用于創建快照的群集的版本更高或者相同(但只能跨1個重大更新的版本)。例如,你可以還原1.x版本的快照到2.x版本的集群,而不是1.x版本的快照到5.x版本的集群。
如果新的集群節點比原集群少,需要做一些額外的考慮。首先,必須確保新的集群有足夠的容量來存儲所有索引的快照。你可以在還原時配置減少副本的數量,這能幫助我們將快照還原到更小集群,也可以指定`indices`參數為快照中的索引的子集。在elasticsearch 1.5.0版本之前,還原持久設置是沒有檢查`discovery.zen.minimum_master_nodes`的設置,可能導致還原到一個小的集群時不兼容,因此可以在較小的集群中禁用此設置直到達到加入所需的主節點資格數。從1.5.0版本開始不兼容的設置將會被忽略。
如果原來的集群中的索引分配了特定節點的[分片分配過濾](https://www.elastic.co/guide/en/elasticsearch/reference/current/shard-allocation-filtering.html),相同的規則將在新的集群中執行。因此,如果新的群集不包含與被還原的索引可以匹配的屬性節點,這樣的索引將不會被成功還原,除非在還原時修改這些索引的分配配置。
## 快照狀態
可以使用下面的命令來查詢當前正在運行的快照列表的詳細狀態信息:
```
GET /_snapshot/_status
```
在這種格式,此命令將返回當前運行的所有快照的信息。通過指定倉庫的名字可以限制返回特定倉庫的快照信息:
```
GET /_snapshot/my_backup/_status
```
如果同時指定倉庫名稱和快照ID,此命令將返回指定快照的狀態信息,即使它當前不是正在運行:
```
GET /_snapshot/my_backup/snapshot_1/_status
```
多個ID也被支持:
```
GET /_snapshot/my_backup/snapshot_1,snapshot_2/_status
```
## 監控快照/還原進度
有幾種方法可以用來監測快照創建與還原正在運行時的執行進度。在創建快照與還原時指定`wait_for_completion`參數來阻塞客戶端,直到操作完成,這是一個可以用來收到操作完成通知的最簡單方法。
快照操作還可以通過定期獲取快照信息來監測:
```
GET /_snapshot/my_backup/snapshot_1
```
請注意,獲取快照信息操作與創建快照操作使用相同的資源和線程池,因此在執行獲取快照信息時如果創建快照的線程正在備份大的分片,可能導致在返回結果前等待可用的資源。在非常大的分片備份情況中等待的時間更明顯。
為了獲得更多的直接和完整的信息,可以用快照的status命令來查看:
```
GET /_snapshot/my_backup/snapshot_1/_status
```
快照信息指令僅返回正在進行的快照的基本信息,快照狀態指令將返回當前參與備份的每個分片的完成狀態。
還原過程是基于Elasticsearch標準恢復機制,因此標準的恢復監控服務可以用來監視還原的狀態。當執行集群還原操作時通常會進入`red`狀態,這是因為還原操作是從“恢復”被還原的索引的主片開始的。在此操作期間主片變得不可用,這表現在集群狀態為`red`。一旦Elasticsearch主片被切換到恢復完成時,這時整個集群的狀態將被切換成`yellow`并且開始創建所需數量的副本。一旦創建了所有必需的副本,集群切換到`green`狀態。
集群的健康情況只是在還原過程中提供了一個比較粗的狀態,你還可以通過使用[indices recovery](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html)與[cat recovery](https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html)的API來獲得更詳細的恢復過程信息與索引的當前狀態信息。
## 停止當前正在運行的快照和還原操作
快照和還原框架只允許在同一個時間點只運行一個快照或一個還原操作。如果當前正在運行的快照被錯誤執行,或執行時間特別長,可以使用刪除快照操作來終止它。刪除快照操作將檢查當前快照是否正在運行,如果確實如此,刪除操作將停止該快照并從倉庫中刪除之前的快照數據。
```
DELETE /_snapshot/my_backup/snapshot_1
```
還原操作使用標準分片恢復機制。因此,任何當前正在運行的還原操作都可以通過刪除正在還原的索引來取消。請注意,所有被刪除的索引數據都將從集群中通過這一操作全部刪除。
## 快照和還原操作對集群阻塞的影響
許多快照與還原操作都會給集群和索引的阻塞帶來影響。例如,創建和刪除倉庫需要寫全局元數據。創建快照操作要求所有索引及其元數據、以及全局元數據是可讀的。還原操作需要全局元數據可寫。但索引級別的阻塞在還原過程中可以忽略,因為索引的還原本質上是新建索引。請注意,倉庫內容不是群集的一部分,因此集群阻塞不會影響倉庫內部的操作,譬如在一個已創建的倉庫中獲取快照列表或刪除快照。
- 入門
- 基本概念
- 安裝
- 探索你的集群
- 集群健康
- 列出所有索引庫
- 創建一個索引庫
- 索引文檔創建與查詢
- 刪除一個索引庫
- 修改你的數據
- 更新文檔
- 刪除文檔
- 批量處理
- 探索你的數據
- 搜索API
- 查詢語言介紹
- 執行搜索
- 執行過濾
- 執行聚合
- 總結
- Elasticsearch設置
- 安裝Elasticsearch
- .zip或.tar.gz文件的安裝方式
- Install Elasticsearch with .zip on Windows
- Debian軟件包安裝方式
- RPM安裝方式
- Install Elasticsearch with Windows MSI Installer
- Docker安裝方式
- 配置Elasticsearch
- 安全配置
- 日志配置
- 重要的Elasticsearch配置
- 重要的系統配置
- 系統設置
- 在jvm.options中設置JVM堆大小
- 禁用swapping
- 文件描述符
- 虛擬內存
- 線程數
- DNS cache settings
- 啟動前檢查
- 堆大小檢查
- 文件描述符檢查
- 內存鎖定檢查
- 最大線程數檢查
- 最大虛擬內存檢查
- Max file size check
- 最大map數檢查
- JVM Client模式檢查
- 串行收集使用檢查
- 系統調用過濾檢查
- OnError與OnOutOfMemoryError檢查
- Early-access check
- G1GC檢查
- Elasticsearch停機
- Elasticsearch升級
- 滾動升級
- 全集群重啟升級
- 索引重建升級
- Set up X-Pack
- Installing X-Pack
- X-Pack Settings
- Watcher Settings
- Configuring Security
- Breaking changes in 6.0
- X-Pack Breaking Changes
- 重大變化
- 6.0的重大變化
- 聚合變化
- Cat API變化
- 客戶端變化
- 集群變化
- 文檔API變化
- 索引變化
- 預處理變化
- 映射變化
- Packaging變化
- Percolator變化
- 插件變化
- 索引重建變化
- 信息統計變化
- DSL查詢變化
- 設置變化
- 腳本變化
- API約定
- 多索引語法
- 索引庫名稱的日期運算
- 常用選項
- URL-based訪問控制
- 文檔APIs
- 讀寫文檔
- 索引接口
- Get接口
- Delete API
- Delete By Query API
- Update API
- Update By Query API
- Multi Get API
- Bulk API
- Reindex API
- Term Vectors
- Multi termvectors API
- ?refresh
- 搜索APIs
- Search
- URI Search
- Request Body Search
- Query
- From / Size
- Sort
- Source filtering
- Fields
- Script Fields
- Doc value Fields
- Post filter
- Highlighting
- Rescoring
- Search Type
- Scroll
- Preference
- Explain
- Version
- Index Boost
- min_score
- Named Queries
- Inner hits
- Field Collapsing
- Search After
- Search Template
- Multi Search Template
- Search Shards API
- Suggesters
- Term suggester
- Phrase Suggester
- Completion Suggester
- Context Suggester
- Returning the type of the suggester
- Multi Search API
- Count API
- Validate API
- Explain API
- Profile API
- Profiling Queries
- Profiling Aggregations
- Profiling Considerations
- Field Capabilities API
- Aggregations
- Metrics Aggregations
- 平均值聚合
- 值計數聚合(Value Count Aggregation)
- Cardinality Aggregation
- Extended Stats Aggregation
- 地理邊界聚合
- 地理重心聚合
- Max Aggregation
- Min Aggregation
- Percentiles Aggregation
- Percentile Ranks Aggregation
- Scripted Metric Aggregation
- Stats Aggregation
- Sum Aggregation
- Top hits Aggregation
- Value Count Aggregation
- Bucket Aggregations
- 鄰接矩陣聚合
- Children Aggregation
- Date Histogram Aggregation
- Date Range Aggregation
- Significant Terms Aggregation
- Filter Aggregation(過濾器聚合)
- Filters Aggregation
- Geo Distance Aggregation(地理距離聚合) 轉至元數據結尾
- GeoHash grid Aggregation(GeoHash網格聚合)
- Global Aggregation(全局聚合) 轉至元數據結尾
- Histogram Aggregation
- IP Range Aggregation(IP范圍聚合)
- Missing Aggregation
- Nested Aggregation(嵌套聚合)
- Range Aggregation(范圍聚合)
- Reverse nested Aggregation
- Sampler Aggregation
- Significant Terms Aggregation
- Significant Text Aggregation
- Terms Aggregation
- Pipeline Aggregations
- Avg Bucket Aggregation
- Derivative Aggregation(導數聚合)
- Max Bucket Aggregation
- Min Bucket Aggregation
- Sum Bucket Aggregation
- Stats Bucket Aggregation
- Extended Stats Bucket Aggregation(擴展信息桶聚合)
- Percentiles Bucket Aggregation(百分數桶聚合)
- Moving Average Aggregation
- Cumulative Sum Aggregation(累積匯總聚合)
- Bucket Script Aggregation(桶腳本聚合)
- Bucket Selector Aggregation(桶選擇器聚合)
- Serial Differencing Aggregation(串行差異聚合)
- Matrix Aggregations
- Matrix Stats
- Caching heavy aggregations
- Returning only aggregation results
- Aggregation Metadata
- Returning the type of the aggregation
- Indices APIs
- Create Index /創建索引
- Delete Index /刪除索引
- Get Index /獲取索引
- Indices Exists /索引存在
- Open / Close Index API /啟動關閉索引
- Shrink Index /縮小索引
- Rollover Index/滾動索引
- Put Mapping /提交映射
- Get Mapping /獲取映射
- Get Field Mapping /獲取字段映射
- Types Exists
- Index Aliases
- Update Indices Settings
- Get Settings
- Analyze
- Explain Analyze
- Index Templates
- 索引統計信息
- 索引段
- 索引恢復
- 索引分片存儲
- 清理緩存
- 刷新
- 同步刷新
- 重新加載
- 強制合并
- Cat APIs
- cat aliases
- cat allocation
- cat count
- cat fielddata
- cat health
- cat indices
- cat master
- cat nodeattrs
- cat nodes
- cat pending tasks
- cat plugins
- cat recovery
- cat repositories
- cat segments
- cat shards
- cat thread pool
- cat snapshots
- cat templates
- Cluster APIs
- 集群健康
- 集群狀態
- 集群統計
- 掛起的集群任務
- 集群重新路由
- Cluster Update Settings
- Nodes Stats
- Nodes Info
- Nodes Feature Usage
- Remote Cluster Info
- Task Management API
- Nodes hot_threads
- Cluster Allocation Explain API
- Query DSL
- 查詢context與過濾context
- Match All Query
- 全文搜索
- 匹配查詢
- 短語匹配查詢
- 短語前綴匹配查詢
- 多字段查詢
- 常用術語查詢
- 查詢語句查詢
- 簡單查詢語句
- Term level queries
- Term Query
- Terms Query
- Range Query
- Exists Query
- Prefix Query
- Wildcard Query
- Regexp Query
- Fuzzy Query
- Type Query
- Ids Query
- 復合查詢
- Constant Score 查詢
- Bool 查詢
- Dis Max 查詢
- Function Score 查詢
- Boosting 查詢
- Joining queries
- Has Child Query
- Has Parent Query
- Nested Query(嵌套查詢)
- Parent Id Query
- Geo queries
- GeoShape Query(地理形狀查詢)
- Geo Bounding Box Query(地理邊框查詢)
- Geo Distance Query(地理距離查詢)
- Geo Polygon Query(地理多邊形查詢)
- Specialized queries
- More Like This Query
- Script Query
- Percolate Query
- Span queries
- Span Term 查詢
- Span Multi Term 查詢
- Span First 查詢
- Span Near 查詢
- Span Or 查詢
- Span Not 查詢
- Span Containing 查詢
- Span Within 查詢
- Span Field Masking 查詢 轉至元數據結尾
- Minimum Should Match
- Multi Term Query Rewrite
- Mapping
- Removal of mapping types
- Field datatypes
- Array
- Binary
- Range
- Boolean
- Date
- Geo-point datatype
- Geo-Shape datatype
- IP datatype
- Keyword datatype
- Nested datatype
- Numeric datatypes
- Object datatype
- Text
- Token數
- 滲濾型
- join datatype
- Meta-Fields
- _all field
- _field_names field
- _id field
- _index field
- _meta field
- _routing field
- _source field
- _type field
- _uid field
- Mapping parameters
- analyzer(分析器)
- normalizer(歸一化)
- boost(提升)
- Coerce(強制類型轉換)
- copy_to(合并參數)
- doc_values(文檔值)
- dynamic(動態設置)
- enabled(開啟字段)
- eager_global_ordinals
- fielddata(字段數據)
- format (日期格式)
- ignore_above(忽略超越限制的字段)
- ignore_malformed(忽略格式不對的數據)
- index (索引)
- index_options(索引設置)
- fields(字段)
- Norms (標準信息)
- null_value(空值)
- position_increment_gap(短語位置間隙)
- properties (屬性)
- search_analyzer (搜索分析器)
- similarity (匹配方法)
- store(存儲)
- Term_vectors(詞根信息)
- Dynamic Mapping
- Dynamic field mapping(動態字段映射)
- Dynamic templates(動態模板)
- default mapping(mapping中的_default_)
- Analysis
- Anatomy of an analyzer(分析器的分析)
- Testing analyzers(測試分析器)
- Analyzers(分析器)
- Configuring built-in analyzers(配置內置分析器)
- Standard Analyzer(標準分析器)
- Simple Analyzer(簡單分析器)
- 空白分析器
- Stop Analyzer
- Keyword Analyzer
- 模式分析器
- 語言分析器
- 指紋分析器
- 自定義分析器
- Normalizers
- Tokenizers(分詞器)
- Standard Tokenizer(標準分詞器)
- Letter Tokenizer
- Lowercase Tokenizer (小寫分詞器)
- Whitespace Analyzer
- UAX URL Email Tokenizer
- Classic Tokenizer
- Thai Tokenizer(泰語分詞器)
- NGram Tokenizer
- Edge NGram Tokenizer
- Keyword Analyzer
- Pattern Tokenizer
- Simple Pattern Tokenizer
- Simple Pattern Split Tokenizer
- Path Hierarchy Tokenizer(路徑層次分詞器)
- Token Filters(詞元過濾器)
- Standard Token Filter
- ASCII Folding Token Filter
- Flatten Graph Token Filter
- Length Token Filter
- Lowercase Token Filter
- Uppercase Token Filter
- NGram Token Filter
- Edge NGram Token Filter
- Porter Stem Token Filter
- Shingle Token Filter
- Stop Token Filter
- Word Delimiter Token Filter
- Word Delimiter Graph Token Filter
- Stemmer Token Filter
- Stemmer Override Token Filter
- Keyword Marker Token Filter
- Keyword Repeat Token Filter
- KStem Token Filter
- Snowball Token Filter
- Phonetic Token Filter
- Synonym Token Filter
- Synonym Graph Token Filter
- Compound Word Token Filters
- Reverse Token Filter
- Elision Token Filter
- Truncate Token Filter
- Unique Token Filter
- Pattern Capture Token Filter
- Pattern Replace Token Filter
- Trim Token Filter
- Limit Token Count Token Filter
- Hunspell Token Filter
- Common Grams Token Filter
- Normalization Token Filter
- CJK Width Token Filter
- CJK Bigram Token Filter
- Delimited Payload Token Filter
- Keep Words Token Filter
- Keep Types Token Filter
- Classic Token Filter
- Apostrophe Token Filter
- Decimal Digit Token Filter
- Fingerprint Token Filter
- Minhash Token Filter
- Character Filters(字符過濾器)
- HTML Strip Character Filter
- Mapping Character Filter
- Pattern Replace Character Filter
- 模塊
- Cluster
- 集群級路由和碎片分配
- 基于磁盤的分片分配
- 分片分配awareness
- 分片分配過濾
- Miscellaneous cluster settings
- Scripting
- Painless Scripting Language
- Lucene Expressions Language
- Advanced scripts using script engines
- Snapshot And Restore
- Thread Pool
- Index Modules(索引模塊)
- 預處理節點
- Pipeline Definition
- Ingest APIs
- Put Pipeline API
- Get Pipeline API
- Delete Pipeline API
- Simulate Pipeline API
- Accessing Data in Pipelines
- Handling Failures in Pipelines
- Processors
- Monitoring Elasticsearch
- X-Pack APIs
- X-Pack Commands
- How To
- Testing(測試)
- Glossary of terms
- Release Notes
- X-Pack Release Notes