# Highlighting
原文鏈接 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html)
譯文鏈接 : [http://www.apache.wiki/pages/editpage.action?pageId=4883096](http://www.apache.wiki/pages/editpage.action?pageId=488308)
貢獻者 : [ping](/display/~wangyangting)
允許突出顯示一個或多個字段的搜索結果。 實現使用 lucene 普通熒光筆,快速向量熒光筆(fvh)或 postings 熒光筆。 以下是一個搜索請求正文的示例:
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"fields" : {
"content" : {}
}
}
}
```
在上述情況下,內容字段將為每個搜索命中突出顯示(每個搜索命中內將有另一個元素,稱為突出顯示,其中包括突出顯示的字段和突出顯示的片段)。
Note:
為了執行突出顯示,需要字段的實際內容。 如果有問題的字段被存儲(在映射中存儲設置為 true),它將被使用,否則,實際的 _source 將被加載,并且相關字段將從中提取。
_all 字段不能從 _source 中提取,因此它只能用于突出顯示,如果它映射到將 store 設置為 true。
字段名稱支持通配符符號。 例如,使用 comment_ * 將導致所有與表達式匹配的文本和關鍵字字段(以及 5.0 之前的字符串)被突出顯示。 請注意,所有其他字段將不會突出顯示。 如果您使用自定義映射器并要在字段上突出顯示,則必須顯式提供字段名稱。
### Plain highlighter
熒光筆的默認選擇是普通類型,并使用Lucene熒光筆。 它試圖在理解詞重要性和短語查詢中的任何詞定位標準方面反映查詢匹配邏輯。
warning:
如果你想突出很多文檔中的大量字段與復雜的查詢,這個熒光筆不會快。 在努力準確地反映查詢邏輯,它創建一個微小的內存索引,并通過 Lucene 的查詢執行計劃程序重新運行原始查詢條件,以獲取當前文檔的低級別匹配信息。 這對于每個字段和需要突出顯示的每個文檔重復。 如果這在您的系統中出現性能問題,請考慮使用替代熒光筆。
### Postings highlighter
如果 index_options 設置為映射中的偏移,則將使用 postings highlighter 而不是純色熒光筆。 帖子熒光筆:
* 速度更快,因為它不需要重新分析要突出顯示的文本:文檔越大,性能增益越好
* 比快速向量熒光筆所需的 term_vectors 需要更少的磁盤空間
* 將文本分成句子并突出顯示。 非常適合自然語言,而不是與包含例如 html 標記的字段
* 將文檔視為整個語料庫,并使用 BM25 算法對單個句子進行評分,如同它們是該語料庫中的文檔
以下是一個在索引映射中設置內容字段的示例,以允許使用其上的?postings highlighter?來突出顯示:
```
{
"type_name" : {
"content" : {"index_options" : "offsets"}
}
}
```
Note:
請注意,postings highlighter?指的是執行簡單的查詢術語突出顯示,而不考慮其位置。 這意味著,當與短語查詢結合使用時,它將突出顯示查詢所構成的所有術語,而不管它們是否實際上是查詢匹配的一部分,從而有效地忽略了它們的位置。
Warning:
postings highlighter 不支持突出顯示一些復雜的查詢,例如類型設置為match_phrase_prefix的匹配查詢。 在這種情況下,不會返回高亮顯示的片段。
### Fast vector highlighter
如果通過在映射中將 term_vector 設置為 with_positions_offsets 來提供 term_vector 信息,則將使用快速向量熒光筆而不是普通熒光筆。 快速矢量熒光筆:
* 是更快,特別是對于大字段(> 1MB)
* 可以使用 boundary_chars,boundary_max_scan 和 fragment_offset 進行定制(見下文)
* 需要將 term_vector 設置為 with_positions_offsets,這會增加索引的大小
* 可以將多個字段的匹配合并為一個結果。請參閱 matched_fields
* 可以為不同位置的匹配分配不同的權重,以便在突出顯示促銷詞組匹配的 Boosting Query 時,可以將詞組匹配排在匹配項上
下面是一個設置內容字段以允許使用快速向量熒光筆突出顯示的示例(這將導致索引更大):
```
{
"type_name" : {
"content" : {"term_vector" : "with_positions_offsets"}
}
}
```
### Force highlighter type
類型字段允許強制特定的熒光筆類型。 這對于需要在啟用 term_vectors 的字段上使用純色熒光筆時非常有用。 允許的值是:plain,postings 和 fvh。 以下是強制使用純熒光筆的示例:
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"fields" : {
"content" : {"type" : "plain"}
}
}
}
```
### Force highlighting on source
強制高亮顯示源上的高亮顯示字段,即使字段單獨存儲。 默認為 false。
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"fields" : {
"content" : {"force_source" : true}
}
}
}
```
### Highlighting Tags
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"pre_tags" : ["<tag1>"],
"post_tags" : ["</tag1>"],
"fields" : {
"_all" : {}
}
}
}
```
使用快速向量熒光筆可以有更多的標簽,“重要性”是有序的。
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"_all" : {}
}
}
}
```
還有內置的“標簽”模式,當前有一個模式稱為樣式與以下 pre_tags:
```
<em class="hlt1">, <em class="hlt2">, <em class="hlt3">,
<em class="hlt4">, <em class="hlt5">, <em class="hlt6">,
<em class="hlt7">, <em class="hlt8">, <em class="hlt9">,
<em class="hlt10">
```
和 </ em> 作為 post_tags。 如果你認為更好的內置標簽模式,只是發送電子郵件到郵件列表或打開一個問題。 以下是切換標記模式的示例:
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"tags_schema" : "styled",
"fields" : {
"content" : {}
}
}
}
```
### Encoder
編碼器參數可用于定義高亮顯示的文本的編碼方式。 它可以是默認(無編碼)或 html(將轉義 html,如果你使用 html 突出顯示標簽)。
### Highlighted Fragments
每個高亮顯示的字段可以控制高亮的片段的大小(以字符為單位)(默認值為 100 ),以及要返回的最大片段數(默認值為 5 )。例如:
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"fields" : {
"content" : {"fragment_size" : 150, "number_of_fragments" : 3}
}
}
}
```
當使用 postings highlighter 時,fragment_size 被忽略,因為它輸出句子不考慮它們的長度。
除此之外,還可以指定高亮顯示的片段需要按照分數排序:
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"order" : "score",
"fields" : {
"content" : {"fragment_size" : 150, "number_of_fragments" : 3}
}
}
}
```
?如果 number_of_fragments 值設置為 0,則不會生成片段,而是返回字段的整個內容,當然它會突出顯示。如果短文本(例如文檔標題或地址)需要高亮顯示,但不需要分段,這可能非常方便。請注意,在這種情況下會忽略 fragment_size。
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"fields" : {
"_all" : {},
"bio.title" : {"number_of_fragments" : 0}
}
}
}
```
?當使用 fvh 時,可以使用 fragment_offset 參數來控制從開始突出顯示的邊距。
在沒有匹配的片段高亮的情況下,默認是不返回任何東西。相反,我們可以通過將 no_match_size(默認為 0 )設置為要返回的文本的長度,從字段的開頭返回一段文本。實際長度可能比指定的短,因為它試圖在單詞邊界上斷開。當使用 postings 熒光筆時,不可能控制片段的實際大小,因此當 no_match_size 大于 0 時,第一個句子返回。
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"fields" : {
"content" : {
"fragment_size" : 150,
"number_of_fragments" : 3,
"no_match_size": 150
}
}
}
}
```
### Highlight query
也可以通過設置 highlight_query 來高亮顯示搜索查詢之外的查詢。 如果使用 rescore 查詢,這是特別有用的,因為這些查詢在默認情況下不會通過高亮顯示來考慮。 Elasticsearch 不會驗證 highlight_query 以任何方式包含搜索查詢,因此可以定義它,因此合法的查詢結果根本不會突出顯示。 通常最好在 highlight_query 中包含搜索查詢。 下面是在 highlight_query 中包含搜索查詢和 rescore 查詢的示例。
```
GET /_search
{
"stored_fields": [ "_id" ],
"query" : {
"match": {
"content": {
"query": "foo bar"
}
}
},
"rescore": {
"window_size": 50,
"query": {
"rescore_query" : {
"match_phrase": {
"content": {
"query": "foo bar",
"slop": 1
}
}
},
"rescore_query_weight" : 10
}
},
"highlight" : {
"order" : "score",
"fields" : {
"content" : {
"fragment_size" : 150,
"number_of_fragments" : 3,
"highlight_query": {
"bool": {
"must": {
"match": {
"content": {
"query": "foo bar"
}
}
},
"should": {
"match_phrase": {
"content": {
"query": "foo bar",
"slop": 1,
"boost": 10.0
}
}
},
"minimum_should_match": 0
}
}
}
}
}
}
```
注意,在這種情況下,文本片段的分數是由 Lucene 高亮顯示框架計算的。 對于實現細節,您可以檢查 ScoreOrderFragmentsBuilder.java 類。 另一方面,當使用過帳突出顯示器時,如上所述,使用 **BM25** 算法對分段進行打分。
### Global Settings
高亮設置可以在全局級別設置,然后在字段級別覆蓋。
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"number_of_fragments" : 3,
"fragment_size" : 150,
"fields" : {
"_all" : { "pre_tags" : ["<em>"], "post_tags" : ["</em>"] },
"bio.title" : { "number_of_fragments" : 0 },
"bio.author" : { "number_of_fragments" : 0 },
"bio.content" : { "number_of_fragments" : 5, "order" : "score" }
}
}
}
```
### Require Field Match
require_field_match 可以設置為 false,這將導致任何字段被高亮顯示,而不管查詢是否與它們具體匹配。 默認行為是 true,這意味著只有包含查詢匹配的字段才會高亮顯示。
```
GET /_search
{
"query" : {
"match": { "user": "kimchy" }
},
"highlight" : {
"require_field_match": false,
"fields": {
"_all" : { "pre_tags" : ["<em>"], "post_tags" : ["</em>"] }
}
}
}
```
### Boundary Characters
當使用快速向量熒光筆高亮顯示字段時,可以配置 boundary_chars 以定義什么構成用于高亮顯示的邊界。 它是一個單字符串,其中定義了每個邊界字符。 它默認為。,!? \ t \ n。
boundary_max_scan 允許控制查找邊界字符的距離,默認值為 20。
### Matched Fields
快速矢量熒光筆可以組合多個字段上的匹配,以使用 matched_fields 突出顯示單個字段。 這對于以不同方式分析相同字符串的多字段來說是最直觀的。 所有 matched_fields 必須將 term_vector 設置為with_positions_offsets,但只會加載匹配的組合字段,因此只有該字段可以從 store 設置為 yes 時受益。
在下面的示例中,content 由英語分析器分析,content.plain?由標準分析器分析。
```
GET /_search
{
"query": {
"query_string": {
"query": "content.plain:running scissors",
"fields": ["content"]
}
},
"highlight": {
"order": "score",
"fields": {
"content": {
"matched_fields": ["content", "content.plain"],
"type" : "fvh"
}
}
}
}
```
以上匹配 “run with scissors” 和 “running with scissors”,并高亮顯示 “running” 和 “scissors”,但不是 “run”。 如果兩個短語出現在一個大的文檔中,則 “running with scissors” 在片段列表中的 “run with scissors” 上排序,因為該片段中有更多匹配項。
```
GET /_search
{
"query": {
"query_string": {
"query": "running scissors",
"fields": ["content", "content.plain^10"]
}
},
"highlight": {
"order": "score",
"fields": {
"content": {
"matched_fields": ["content", "content.plain"],
"type" : "fvh"
}
}
}
}
```
The above highlights "run" as well as "running" and "scissors" but still sorts "running with scissors" above "run with scissors" because the plain match ("running") is boosted.
上面高亮了 "run"?以及 "running"?和 "scissors",但仍然排序 “"running with scissors"?上面 "run with scissors",因為?plain match ("running")?提高。
```
GET /_search
{
"query": {
"query_string": {
"query": "running scissors",
"fields": ["content", "content.plain^10"]
}
},
"highlight": {
"order": "score",
"fields": {
"content": {
"matched_fields": ["content.plain"],
"type" : "fvh"
}
}
}
}
```
上面的查詢不會突出顯示 "run"?或 "scissor",但顯示沒有列出在匹配字段中匹配匹配的字段(內容)。
Note:
從技術上講,也可以將字段添加到與共同匹配的字段不共享相同底層字符串的 matched_fields。?結果可能沒有什么意義,如果一個匹配是在文本的末尾,那么整個查詢將失敗。
Note:
將 matching_fields 設置為非空數組時涉及少量開銷,因此始終優選
```
"highlight": {
"fields": {
"content": {}
}
}
```
較于
```
"highlight": {
"fields": {
"content": {
"matched_fields": ["content"],
"type" : "fvh"
}
}
}
```
。
### Phrase Limit
快速向量熒光筆有一個 phrase_limit 參數,阻止它分析太多的短語和吃大量的內存。 它默認為 256,所以只有文檔中前 256 個匹配的短語被考慮。 您可以使用 phrase_limit 參數提高限制,但請記住,評分更多的短語會消耗更多的時間和內存。
如果使用 matched_fields,請記住每個匹配字段的 phrase_limit 短語會被考慮。
### Field Highlight Order
Elasticsearch 按照它們發送的順序高亮顯示字段。 每個 json spec 對象是無序的,但如果你需要明確的字段的高亮顯示的順序,你可以使用數組的字段,如:
```
"highlight": {
"fields": [
{"title":{ /*params*/ }},
{"text":{ /*params*/ }}
]
}
```
沒有一個內置于 Elasticsearch 的熒光筆關心字段高亮顯示的順序,但插件可能。
- 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