# 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