# 快照和還原
原文鏈接 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html)
譯文鏈接 : [http://www.apache.wiki/pages/viewpage.action?pageId=9405386](http://www.apache.wiki/pages/viewpage.action?pageId=9405386)
貢獻者 : [阿叩](/display/~luanqing),[ApacheCN](/display/~apachecn),[Apache中文網](/display/~apachechina)
MarkDown文件:[Snapshot And Restore.md](https://github.com/aqlu/elasticsearch-reference-cn/blob/master/Modules/Snapshot_And_Restore.md)
## 快照和還原
**`快照`**和**`還原`**模塊支持創建單獨索引或整個集群的快照到遠程倉庫,像共享文件系統、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,%20java.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
```
```
還原操作使用標準分片恢復機制。因此,任何當前正在運行的還原操作都可以通過刪除正在還原的索引來取消。請注意,所有被刪除的索引數據都將從集群中通過這一操作全部刪除。
```
## 快照和還原操作對集群阻塞的影響
許多快照與還原操作都會給集群和索引的阻塞帶來影響。例如,創建和刪除倉庫需要寫全局元數據。創建快照操作要求所有索引及其元數據、以及全局元數據是可讀的。還原操作需要全局元數據可寫。但索引級別的阻塞在還原過程中可以忽略,因為索引的還原本質上是新建索引。請注意,倉庫內容不是群集的一部分,因此集群阻塞不會影響倉庫內部的操作,譬如在一個已創建的倉庫中獲取快照列表或刪除快照。
- Getting Started(入門指南)
- Basic Concepts(基礎概念)
- Installation(安裝)
- Exploring Your Cluster(探索集群)
- Cluster Health(集群健康)
- List All Indices(列出所有索引)
- Create an Index(創建索引)
- Index and Query a Document(索引和查詢文檔)
- Delete an Index(刪除索引)
- Modifying Your Data(修改數據)
- Updating Documents(更新文檔)
- Deleting Documents(刪除文檔)
- Batch Processing(批處理)
- Exploring Your Data(探索數據)
- The Search API(搜索 API)
- Introducing the Query Language(介紹查詢語言)
- Executing Searches(執行查詢)
- Executing Filters(執行過濾)
- Executing Aggregations(執行聚合)
- Conclusion(總結)
- Setup Elasticsearch(設置)
- Installing Elasticsearch(安裝)
- zip 或 tar.gz 安裝
- Debian軟件包安裝Elasticsearch
- 用RPM安裝Elasticsearch
- Windows 環境下安裝ES
- Docker 方式安裝
- 配置Elasticsearch
- 重要Elasticsearch配置
- 安全配置
- 啟動前檢查
- 堆大小檢查
- 文件描述符檢查
- 內存鎖定檢查
- 最大線程數檢查
- 最大虛擬內存檢查
- 最大map數檢查
- JVM Client模式檢查
- 串行收集使用檢查
- 系統調用過濾檢查
- OnError與OnOutOfMemoryError檢查
- G1GC檢查
- 重要的系統配置
- 系統設置
- 在jvm.options中設置JVM堆大小
- 禁用swapping
- 文件描述符
- 虛擬內存
- 線程數
- 升級Elasticsearch
- Elasticsearch停機
- 重大改變
- 在5.3 重大改變
- 在5.2 重大改變
- Shadow Replicas已被棄用
- 在5.1 重大改變
- 在5.0 重大改變
- 搜索和查詢DSL改變
- 映射改變
- 過濾器改變
- Suggester變化
- 索引API改變
- 文檔API改變
- 設置的改變
- 分配改變
- HTTP改變
- REST API改變
- CAT API改變
- Java API改變
- Packaging
- Plugin改變
- 文件系統相關改變
- 磁盤上數據的路徑
- 聚合改變
- 腳本相關改變
- API 規范
- Multiple Indices(多個索引)
- Date math support in index names(索引名稱對 Date 和 Math 的支持)
- 常見選項
- URL-based access control(基于 URL 的訪問控制)
- Document APIS
- Index API
- Get API
- Update API
- 通過查詢 API 更新
- 多個 GET API
- Bulk API
- Reading and Writing documents(讀寫文檔)
- Delete API
- Delete By Query API
- Reindex API
- Term Vectors
- Multi termvectors API
- ?refresh
- Search 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
- Search After
- Field Collapsing 字段折疊
- Search 模板
- Multi Search 模板
- Search Shards API
- Suggesters
- Completion Suggester
- Context Suggester
- Phrase Suggester
- Term suggester
- Multi Search API
- Count API
- Validate API
- Explain API
- Profile API
- Profiling Queries
- Profiling Aggregations
- Profiling Considerations
- Aggregations
- Metric Aggregations
- 值計數聚合(Value Count Aggregation)
- 地理邊界聚合
- 地理重心聚合
- 基數聚合
- 平均值聚合
- 擴展統計聚合
- 最大值聚合
- 最小值聚合
- Bucket Aggregations
- Children Aggregation
- Date Histogram Aggregation
- Date Range Aggregation
- Diversified Sampler 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
- 鄰接矩陣聚合
- 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(百分數桶聚合)
- Cumulative Sum Aggregation(累積匯總聚合)
- Bucket Script Aggregation(桶腳本聚合)
- Bucket Selector Aggregation(桶選擇器聚合)
- Serial Differencing Aggregation(串行差異聚合)
- Matrix Aggregations
- Matrix Stats
- Matrix Stats(矩陣統計)
- Caching heavy aggregations(緩存頻繁聚合)
- Returning only aggregation results(僅返回需要聚合的結果)
- Aggregation Metadata(聚合元數據)
- Returning the type of the aggregation(返回聚合的類型)
- 索引 API
- Create Index /創建索引
- Delete Index /刪除索引
- Get Index /獲取索引
- Indices Exists /索引存在
- Open / Close Index API /啟動關閉索引
- Shrink Index /縮小索引
- Rollover Index/滾動索引
- Put Mapping /提交映射
- Get Mapping /獲取映射
- Get Field Mapping /獲取字段映射
- 卷影副本索引
- 依賴卷影副本的節點級設置
- 索引統計信息
- 索引段
- 索引恢復
- 索引分片存儲
- 清理緩存
- 刷新
- 同步刷新
- 重新加載
- 強制合并
- 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 thread pool
- cat shards
- cat segments
- cat snapshots
- 集群 API
- Cluster Allocation Explain API
- Cluster Health
- Cluster Reroute
- Cluster State
- Cluster Stats
- Cluster Update Settings
- Nodes hot_threads
- Nodes Info
- Nodes Stats
- Pending cluster tasks
- Task Management API
- 查詢 DSL
- 查詢和過濾上下文
- Match ALL 查詢
- 全文搜索
- 匹配查詢
- 短語匹配查詢
- 短語前綴匹配查詢
- 多字段查詢
- 常用術語查詢
- 查詢語句查詢
- 簡單查詢語句
- 復合查詢家族
- Constant Score 查詢
- Bool 查詢
- Dis Max 查詢
- Function Score 查詢
- Boosting 查詢
- Indices 查詢
- Join 查詢
- Has Child Query
- Has Parent Query
- Nested Query(嵌套查詢)
- Parent Id Query
- 術語查詢
- Exists Query(非空值查詢)
- Fuzzy Query(模糊查詢)
- Ids Query(ID 查詢)
- Prefix Query(前綴查詢)
- Range Query(范圍查詢)
- Regexp Query(正則表達式查詢)
- Term Query(項查詢)
- Terms Query(多項查詢)
- Type Query(類型查詢)
- Wildcard Query(通配符查詢)
- 地理位置查詢
- GeoShape Query(地理形狀查詢)
- Geo Bounding Box Query(地理邊框查詢)
- Geo Distance Query(地理距離查詢)
- Geo Distance Range Query(地理距離范圍查詢)
- Geo Polygon Query(地理多邊形查詢)
- Span 查詢
- Span Term 查詢
- Span Multi Term 查詢
- Span First 查詢
- Span Near 查詢
- Span Or 查詢
- Span Not 查詢
- Span Containing 查詢
- Span Within 查詢
- Span Field Masking 查詢
- Specialized queries(專業查詢)
- Mapping(映射)
- 字段類型
- Array
- Binary
- Range
- Boolean
- Date
- Geo-point datatype
- String
- Text
- Token數
- 滲濾型
- KeyWord
- Nested
- Object
- Numeric
- Meta-Fields(元字段)
- _all field
- _field_names field
- _id field
- _index field
- _meta field
- _parent field
- _routing field
- _source field
- _type field
- _uid field
- Mapping parameters(映射參數)
- analyzer(分析器)
- normalizer(歸一化)
- boost(提升)
- Coerce(強制類型轉換)
- copy_to(合并參數)
- doc_values(文檔值)
- dynamic(動態設置)
- enabled(開啟字段)
- fielddata(字段數據)
- format (日期格式)
- ignore_above(忽略超越限制的字段)
- ignore_malformed(忽略格式不對的數據)
- include_in_all(_all 查詢包含字段)
- index_options(索引設置)
- index (索引)
- fields(字段)
- Norms (標準信息)
- null_value(空值)
- position_increment_gap(短語位置間隙)
- properties (屬性)
- search_analyzer (搜索分析器)
- similarity (匹配方法)
- store(存儲)
- Term_vectors(詞根信息)
- Dynamic Mapping(動態映射)
- default mapping(mapping中的_default_)
- Dynamic field mapping(動態字段映射)
- Dynamic templates(動態模板)
- Override default template(覆蓋默認模板)
- Mapping(映射)
- Analysis
- Tokenizers(分詞器)
- Standard Tokenizer(標準分詞器)
- Letter Tokenizer
- Lowercase Tokenizer (小寫分詞器)
- Whitespace Analyzer
- 停止分析器
- UAX URL Email Tokenizer
- Classic Tokenizer
- Thai Tokenizer(泰語分詞器)
- NGram Tokenizer
- Keyword Analyzer
- Path Hierarchy Tokenizer(路徑層次分詞器)
- Pattern Tokenizer
- Token Filters(詞元過濾器)
- Apostrophe Token Filter(撇號/單引號過濾器)
- ASCII Folding Token Filter(ASCII Folding 詞元過濾器)
- CJK Bigram Token Filter(CJK Bigram詞元過濾器)
- CJK Width Token Filter(CJK寬度過濾器)
- Classic Token Filter(經典過濾器)
- Common Grams Token Filter(近義詞詞元過濾器)
- Compound Word Token Filter(復合詞過濾器)
- Decimal Digit Token Filter(十進制數字過濾器)
- Delimited Payload Token Filter(Delimited Payload詞元分析器)
- Edge NGram Token Filter(Edge NGram 詞元過濾器)
- Elision Token Filter(Elision詞元過濾器)
- Fingerprint Token Filter(指紋過濾器)
- Flatten Graph Token Filter(Flatten Graph 詞元過濾器)
- Hunspell Token Filter(Hunspell 詞元過濾器)
- Keep Types Token Filter(保留指定類型過濾器)
- Keep Words Token Filter(保留字過濾器)
- Keyword Marker Token Filter(Keyword Marker 詞元過濾器)
- Keyword Repeat Token Filter(Keyword Repeat 詞元過濾器)
- KStem Token Filter(KStem 詞元過濾器)
- Length Token Filter(長度詞元過濾器)
- Limit Token Count Token Filter(限制詞元數量過濾器)
- Lowercase Token Filter(Lowercase 詞元過濾器)
- Minhash Token Filter(Minhash過濾器)
- NGram Token Filter(NGram詞元過濾器)
- Normalization Token Filter(標準化詞元過濾器)
- Pattern Capture Token Filter(模式匹配詞元過濾器)
- Pattern Replace Token Filter(模式替換詞元過濾器)
- Phonetic Token Filter(Phonetic 詞元過濾器)
- Porter Stem Token Filter(Porter Stem 詞元過濾器)
- Reverse Token Filteredit(反向詞元過濾器)
- Shingle Token Filter(Shingle 詞元過濾器)
- Snowball Token Filter(Snowball 詞元過濾器)
- Standard Token Filters(標準詞元過濾器)
- Stemmer Override Token Filter(Stemmer Override 詞元過濾器)
- Stemmer Token Filter(Stemmer 詞元過濾器)
- Stop Token Filter(Stop 詞元過濾器)
- Synonym Graph Token Filter(Synonym Graph 詞元過濾器)
- Synonym Token Filter(Synonym 詞元過濾器)
- Trim Token Filter(Trim詞元過濾器)
- Truncate Token Filter(截斷詞元過濾器)
- Unique Token Filter(唯一詞元過濾器)
- Uppercase Token Filter(Uppercase詞元過濾器)
- Word Delimiter Token Filter(Word Delimiter 詞元過濾器)
- Character Filters(字符過濾器)
- md Strip Character Filter
- Mapping Character Filter
- Pattern Replace Character Filter
- Anatomy of an analyzer(分析器的分析)
- Testing analyzers(測試分析器)
- Analyzers(分析器)
- Configuring built-in analyzers(配置內置分析器)
- Standard Analyzer(標準分析器)
- Simple Analyzer(簡單分析器)
- 空白分析器
- Stop Analyzer
- 指紋分析器
- 模式分析器
- 自定義分析器
- 語言分析器
- 模塊
- Indices(索引)
- Circuit breakers(熔斷器)
- Fielddata cache(列數據緩存)
- indexing buffer(索引寫入緩沖)
- indices Recovery(索引恢復)
- NetWork Setting(網絡配置)
- Node Query Cache(節點查詢緩存)
- Shard request cache(分片請求緩存)
- 腳本
- Groovy 腳本語言
- Painless 腳本語言
- Painless 語法
- Painless 調試
- Lucene表達式語言
- 原生(Java)腳本
- 高級文本評分腳本
- 快照和還原
- 線程池
- 傳輸
- HTTP
- Tribe Node (部落節點)
- 跨集群搜索
- Cluster(集群)
- Disk-based Shard Allocation ( 基于磁盤的分片分配 )
- Shard Allocation Awareness ( 分片分配意識 )
- 群集級別分片分配
- Node
- 插件
- Index Modules(索引模塊)
- Analysis(分析)
- 索引分片分配
- 分片分配過濾
- 節點丟失時的延遲分配
- 索引恢復的優先級
- 每個節點的總分片數
- Mapper(映射)
- Merge(合并)
- Similarity module(相似模塊)
- Slow log(慢日志)
- Store
- 預加載數據到文件系統緩存
- Translog(事務日志)
- Ingest Node(預處理節點)
- Pipeline Definition(管道定義)
- Ingest APIs
- Put Pipeline API
- Get Pipeline API
- Delete Pipeline API
- Simulate Pipeline API(模擬管道 API)
- Accessing Data in Pipelines(訪問管道中的數據)
- Handling Failures in Pipelines(處理管道中的故障)
- Processors(處理器)
- Append Processor(追加處理器)
- Convert Processor(轉換處理器)
- Date Processor(日期處理器)
- Date Index Name Processor(日期索引名稱處理器)
- Fail Processor(故障處理器)
- Foreach Processor(循環處理器)
- Grok Processor(Grok 處理器)
- Gsub Processor(Gsub 處理器)
- Join Processor(連接處理器)
- JSON Processor(JSON 處理器)
- KV Processor(KV 處理器)
- Lowercase Processor(小寫處理器)
- Remove Processor(刪除處理器)
- Rename Processor(重命名處理器)
- Script Processor(腳本處理器)
- Set Processor(設置處理器)
- Split Processor(拆分處理器)
- Sort Processor(排序處理器)
- Trim Processor(修剪處理器)
- Uppercase Processor(大寫處理器)
- Dot Expander Processor(點擴展器處理器)
- How to(操作方式)
- 一些建議
- Recipes(訣竅)
- 索引速率調優
- 查詢優化
- 磁盤使用調優
- Testing(測試)
- Java Testing Framework(測試框架)
- ( why randomized testing ) 為什么隨機測試?
- Using the elasticsearch test classes ( 使用 elasticsearch 測試類 )
- unit tests(單元測試)
- integreation test(集成測試)
- Randomized testing(隨機測試)
- Assertions()
- Glossary of terms (詞匯表)
- Release Notes(版本說明)
- 5.3.0 版本說明
- 5.2.2 Release Notes
- 5.2.1 Release Notes
- 5.2.0 Release Notes
- 5.1.2 Release Notes
- 5.1.1 Release Notes
- 5.1.0 Release Notes
- 5.0.1 Release Notes