# 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,通過模糊匹配也能查找出來:

參考:?
[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足夠大,其檢索與忽略順序一致。例如

* 文檔內容為: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