# Match All Query
## Match All Query
最简单的查询:匹配所有文档,对每个文档打分_score为1.0,相当于关系数据库中的`select * from table`
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"match_all": {}
}
}'
~~~
如果对于某个查询条件,希望更改其计算_score的权重,可以使用boost参数:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"match_all": { "boost" : 1.2 }
}
}'
~~~
## Match None Query
与全检索相反,可以使用match_none,不匹配任何文档
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"match_none": {}
}
}'
~~~
# 全文检索
全文搜索两个最重要的方面是:
* 相关(relevance):相关是将查询到相关的文档结果进行排名的一种能力,这种相关度可以是根据TF/IDF、地理位置相似性(geolocation)、模糊相似,或者其他的一些算法得出。
* 分析(analysis):将一个文本块转换为唯一的、规范化的token的过程,目的是为了(a)创建反向索引以及(b)查询反向索引。
当我们提到相关与分析的时候,我们已经身处查询上下文之中,而不是过滤。
# Full text queries
高层级的全文检索,通常会对文本的整体内容进行分析查询。在检索前会使用每个字段的analyzer对查询字段进行分词。
+ 如果我们用它来查询 时间(date) 或 整数(integer),他们会将查询字符串用分别当作 时间 和 整数。
+ 如果查询一个准确的(未分析过的 not_analyzed)字符串字段,它会将整个查询字符串当成一个术语。
+ 但是如果要查询一个全文字段(分析过的 analyzed),它会讲查询字符串传入到一个合适的分析器,然后生成一个供查询的术语列表。
一旦查询组成了一个术语列表,它会对每个术语逐一执行低层次的查询,然后将结果合并,为每个文档生成一个最终的相关性分数。
**注意**:
当我们想要准确查询一个未分析过(not_analyzed)的字段之前,需要仔细想想,我们到底是想要一个查询还是一个过滤。
单术语查询通常可以用是非问题表示,所以更适合用过滤来表达,而且这样子可以有效利用过滤的缓存。
下面对全文本查询进行详细介绍:
## Match Query匹配查询
match查询接受文本、数值、时间类型的数据,对其进行分析,构建查询。简单示例:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"match" : {
"message" : "this is a test"
}
}
}'
~~~
其中message是字段名称,可以根据情况替换。上面的查询会先对this is a test进行分词,对每个term进行匹配并合并结果。
### match
match是布尔类型的查询,通过对提供的文本进行analyze,构建一个boolean的查询。
* operator:其操作符operator可以设定为and或者or,用于控制查询结构的构建。
* minimum_should_match:当存在多个should可选时,可以通过minimum_should_match来设定最少匹配的should条件个数。
* analyzer:可以控制文本分析器
* lenient:默认为false,当设定为true时,可以忽略类型不匹配导致的异常
### Fuzziness
fuziness可以开启模糊匹配功能。通过设定模糊参数,修改匹配时可以容忍的差距,该值最后在0-2之间,值越大,则计算时间越长。例如下面的例子中,名称多了一个a,通过模糊匹配也能查找出来:
![这里写图片描述](http://img.blog.csdn.net/20161126183122968)
参考:
[https://www.elastic.co/blog/found-fuzzy-search](https://www.elastic.co/blog/found-fuzzy-search)
### zero terms query
### cutoff frequency
指定文档频率
## match phrase
短语匹配,通过对查询字符串进行分词,并记录token的位置关系,然后对待查询的字段进行过滤查询分析。
例如:下面例子会查询包含this is a test短语,且顺序与其一致的文档。
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"match_phrase" : {
"message" : "this is a test"
}
}
}'
~~~
对于查询字符串的分析器,可以手动置顶:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"match_phrase" : {
"message" : {
"query" : "this is a test",
"analyzer" : "my_analyzer"
}
}
}
}'
~~~
有时不希望对顺序要求过于严格,可以通过设定slop,指定可以移动查询字符串的token的次数,最终使其顺序一致。如果slop足够大,其检索与忽略顺序一致。例如
![这里写图片描述](http://img.blog.csdn.net/20161126183253344)
* 文档内容为:quick brown fox
* 检索字符串为:fox quick
* 移动步骤:
* 将quick从pos2移动到pos1
* 将fox从pos1移动到pos2
* 将fox从pos2移动到pos3
## Match Phrase Prefix Query
与match_phrase类似,但最后一个token作为前缀进行匹配,其最长的匹配长度由max_expansions设定:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"match_phrase_prefix" : {
"message" : {
"query" : "quick brown f",
"max_expansions" : 10
}
}
}
}'
~~~
## multi match query
允许对多个字段进行同时检索:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"multi_match" : {
"query": "this is a test",
"fields": [ "subject", "message" ]
}
}
}'
~~~
可以对各字段分配不同权重,例如下面例子中,subject的权重是message的三倍:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"multi_match" : {
"query" : "this is a test",
"fields" : [ "subject^3", "message" ]
}
}
}'
~~~
multi match查询包括以下几种类型:
### best_fields
将每个match查询封入dis_max中,这样可以保证精确匹配得分更高
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"multi_match" : {
"query": "brown fox",
"type": "best_fields",
"fields": [ "subject", "message" ],
"tie_breaker": 0.3
}
}
}'
~~~
与下面等价:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"dis_max": {
"queries": [
{ "match": { "subject": "brown fox" }},
{ "match": { "message": "brown fox" }}
],
"tie_breaker": 0.3
}
}
}'
~~~
tie_breaker:只有在use_dis_max参数设为true时才会使用这个参数。它指定低分数项和最高分数项之间的平衡。该参数指定了除了最高得分的子查询外,其他查询得分所占的权重。
### most_fields
对每个字段都进行搜索匹配并计算,匹配文档越多,分数越高
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"multi_match" : {
"query": "quick brown fox",
"type": "most_fields",
"fields": [ "title", "title.original", "title.shingles" ]
}
}
}'
~~~
与下面的一致:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"bool": {
"should": [
{ "match": { "title": "quick brown fox" }},
{ "match": { "title.original": "quick brown fox" }},
{ "match": { "title.shingles": "quick brown fox" }}
]
}
}
}'
~~~
将所有match子句的得分相加并除以match的个数
### phrase和phrase_prefix
相当于将每个match子句用match_phrase_prefix封装:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"multi_match" : {
"query": "quick brown f",
"type": "phrase_prefix",
"fields": [ "subject", "message" ]
}
}
}'
~~~
与下面语句功能一致:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"dis_max": {
"queries": [
{ "match_phrase_prefix": { "subject": "quick brown f" }},
{ "match_phrase_prefix": { "message": "quick brown f" }}
]
}
}
}'
~~~
### corss_fields
将所有字段作为一个big-fields,进行检索
## Common Terms Query
### 问题
当查询多个字段时,每个token会使用一个term查询,但某些token十分常见,并不应该影响文档的的得分,例如the、a等词,将其作为stopword可以减少term查询个数。但直接移除这些词汇,我们会损失一些精度,比如我们无法区分 happy和not happy。
### 解决方法:
common terms查询会分两步进行查询
* 查询重要性高的文档(分布在较少的文档中),并计算score
* 在第一步查询结果的文档中,查询相关性低的token,并计算socre
* 可以通过cutoff_frequency控制频率(值大于1为绝对频率,小于1为相对频率)
下面例子中,对频率大于0.1%的token视为common term,
例如下面示例,对低频token使用and操作:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"common": {
"body": {
"query": "nelly the elephant as a cartoon",
"cutoff_frequency": 0.001,
"low_freq_operator": "and"
}
}
}
}'
~~~
上面查询近似得等同下面的查询:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"bool": {
"must": [
{ "term": { "body": "nelly"}},
{ "term": { "body": "elephant"}},
{ "term": { "body": "cartoon"}}
],
"should": [
{ "term": { "body": "the"}},
{ "term": { "body": "as"}},
{ "term": { "body": "a"}}
]
}
}
}'
~~~
可以分别对高频和低频token进行限制:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"common": {
"body": {
"query": "nelly the elephant not as a cartoon",
"cutoff_frequency": 0.001,
"minimum_should_match": {
"low_freq" : 2,
"high_freq" : 3
}
}
}
}
}'
~~~
# 多词匹配
其中match是一个boolean查询,会对匹配字段进行analyze,操作符默认是or,可以根据情况设定为or或and。例如为了同时匹配三个term,则设定为and:
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"match" : {
"message" : "this is a test",
"operator": "and"
}
}
}'
~~~
## 多字段搜索
索引测试的文档:
~~~
PUT /my_index/my_type/1
{
"title": "Quick brown rabbits",
"body": "Brown rabbits are commonly seen."
}
PUT /my_index/my_type/2
{
"title": "Keeping pets healthy",
"body": "My quick brown fox eats rabbits on a regular basis."
}
~~~
多字段查询:
若多个字段进行查询,默认查询按照下面规则进行排序:
~~~
{
"query": {
"bool": {
"should": [
{ "match": { "title": "Brown fox" }},
{ "match": { "body": "Brown fox" }}
]
}
}
}
~~~
它会执行 should 语句中的两个查询
将两个查询的分数相加
与总匹配语句的数目相乘
并除以总语句的数目(这里为:2)
普通的多字段查询,文档1两个字段都包含brown,所以两个match都符合,其匹配度高于文档2;
但我们发现文档2对于borwn fox的匹配度更高,如果我们想要提高最佳匹配的文档的匹配度,可以使用dis_max:
## dis_max分离最大化查询
~~~
{
"query": {
"dis_max": {
"queries": [
{ "match": { "title": "Quick pets" }},
{ "match": { "body": "Quick pets" }}
]
}
}
}
~~~
## dis_breker
## 设定匹配精度
~~~
curl -XGET 'localhost:9200/_search?pretty' -d'
{
"query": {
"match" : {
"message" : "this is a test",
"minimum_should_match": "75%"
}
}
}'
~~~
通常设定最小的匹配百分比,来控制匹配term的个数,例如上面的例子中有三个term,75%会被修正为66.6%,即最少匹配2个term。
但该值可以为负数,负数的意义有些特殊。
例如有4个term的匹配,当匹配度为-25%与75%,其意义是一样的,都是最少匹配三个,但处理5个term时,-25%表示至少匹配四个,而75%表示至少匹配三个term。
## 如何使用bool匹配(How match Uses bool)
目前为止,可能已经知道如何对多个词进行查询,我们需要做的只是要把多个语句放入bool查询中,因为默认的操作符是 or,每个 term 查询都会被当作 should 语句进行处理,所以至少有一个语句需要匹配,下面的两个查询是等价的:
~~~
{
"match": { "title": "brown fox"}
}
~~~
与
~~~
{
"
bool": {
"should": [
{ "term": { "title": "brown" }},
{ "term": { "title": "fox" }}
]
}
}
~~~
如果使用 and 操作符,那么下面两个语句也是等价的:
~~~
{
"
match": {
"title": {
"query": "brown fox",
"operator": "and"
}
}
}
~~~
与
~~~
{
"
bool": {
"must": [
{ "term": { "title": "brown" }},
{ "term": { "title": "fox" }}
]
}
}
~~~
如果按照下面这样给定参数 minimum_should_match,那么下面两个查询也是等价的:
~~~
{
"
match": {
"title": {
"query": "quick brown fox",
"minimum_should_match": "75%"
}
}
}
~~~
与
~~~
{
"
bool": {
"should": [
{ "term": { "title": "brown" }},
{ "term": { "title": "fox" }},
{ "term": { "title": "quick" }}
],
"minimum_should_match": 2
}
}
~~~
当然,我们通常将这些查询以 match 查询来表示,但是如果了解match内部的工作原理,我们就能对查询过程按照我们的需要进行控制,有些时候单个match查询无法满足需求,比如我们要为一些查询条件分配更多的权重。在下一部分中,我们会介绍这个例子。
- 入门
- 基本概念
- 安装
- 探索你的集群
- 集群健康
- 列出所有索引库
- 创建一个索引库
- 索引文档创建与查询
- 删除一个索引库
- 修改你的数据
- 更新文档
- 删除文档
- 批量处理
- 探索你的数据
- 搜索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