開發與維運

【Elasticsearch 入門公開課】Elasticsearch 搜索、文檔CRUD、索引及分詞原理介紹-回顧篇

講師:阮一鳴——eBay Pronto 平臺技術負責人、極客時間『Elasticsearch 核心技術與實戰』課程講師
課程為了更多同學能快速體驗 Elasticsearch,為大家提供了免費的阿里雲 Elasticsearch (3節點1核2G)的測試環境>>>>去開通

image.png

課程回顧

11 | 文檔的基本CRUD與批量操作
12 | 倒排索引入門
13 | 通過Analyzer進行分詞
14 | Search API概覽

知識點 1 :文檔的基本CRUD與批量操作


image.png

Create 一種文檔

Create 支持兩種方式
• 第一:通過程序指定 ID
• 第二:調用系統“post/users/_doc”生成文檔 ID

image.png

Get 一個文檔

僅需執行 get users/_ doc/1,就可以看到文檔信息

image.png

Index 文檔

與Create 區別,當文檔不存在,就索引新文檔,否則現有文檔會被刪除,新文檔被索引。版本信息+1

image.png

Updata 文檔

Updata 不會刪除源文檔,且實現真正數據更新
Updata 採用 POST,並在請求中增加“doc”,在把相應文檔提供在HTTP的“body”中

Demo:

• Create Docment (auto ID generate)
• Get Document By id
• Create Docment (指定 ID )
• Index document
• Updata Document

Bulk API

通過一次 REST API調用,執行多次不同索引操作
作用:
• 單條操作失敗,不會影響其他操作
• 返回結果中包括每一條操作執行結果

image.png

批量讀取 - mget

提供一系列的文檔 ID,請求一次 REST API 時,即可返回所有文檔信息

image.pngimage.png

批量查詢 - msearch

image.png

常見錯誤返回

image.png

知識點 2 :倒排索引入門


倒排索引是 Elasticsearch 中非常重要的索引結構,從文檔單詞到文檔 ID 的過程

image.png

核心組成包括兩個部分

1、單單詞詞典:記錄所有文檔單詞,記錄單詞到倒排列表的關聯關係
2、倒排列表:記錄單詞與對應文檔結合,由倒排索引項組成
• 倒排索引項由:文檔、詞頻 TF、位置(Position)、偏移(Offset)組成

image.png

Elasticsearch 的 JSON 文檔中,每個字段都有自己的倒排索引

通過 Mapping 字段可以指定某些字段不做索引
• 優點:節省存儲空間
• 缺點:字段無法被搜索

知識點 3 :通過Analyzer進行分詞


Analysis:即文本分析,是把全文本轉化為一系列單詞(term/token)的過程,也叫分詞;在Elasticsearch 中可通過內置分詞器實現分詞,也可以按需定製分詞器。

Analyzer 由三部分組成

• Character Filters:原始文本處理,如去除 html
• Tokenizer:按照規則切分為單詞
• Token Filters:對切分單詞加工、小寫、刪除 stopwords,增加同義詞

image.png

Analyzer API

通過三種方式查看 Analyzer 如何進行工作
• 直接指定 Analyzer 進行測試
• 指定索引字段進行測試
• 自定義分詞器進行測試

image.png

Elasticsearch 內置分詞器

image.png

中文分詞難點

• 中文句子,切分成一個一個詞,而不是單個字,而英文中有自然的空格作為分隔

ICU Analyzer,提供了 Unicode 支持,更好的支持亞洲語言
• 需要安裝 plugin

image.png

知識點 4 :Search API概覽


Elasticsearch Search API 可以分為兩大類,搜索是用戶和搜索引擎的對話,用戶關係的不僅僅是搜索結果,而是其相關性是否符合自身需求;如Web 搜索中,更重要的是對搜索信息的可信度;在電商搜索中,作為一個銷售角色,不僅提高用戶購物體驗,還要考慮提升業績和去庫存的問題.

1、URI Search
• 通過 http_get 的方式在URL中使用查詢參數

image.png

2、Request Body Search
• 基於 JSON 格式更加完備的 Query Domain Specific Language(DSL)

image.png

指定查詢索引

image.png

衡量相關性指標

• Precision(查準率):儘可能返回較少無關文件
• Recall(查全率):儘量返回較多的相關性文檔
• Ranking:是否能夠按照相關度進行排序

image.png

下週課程預告


點擊預約課程

15 | URI Search詳解
16 | Request Body與Query DSL簡介
17 | Query String&Simple Query String查詢
18 | Dynamic Mapping和常見字段類型

相關活動


更多折扣活動,請訪問阿里雲 Elasticsearch 官網

• 阿里雲 Elasticsearch 商業通用版,1核2G首月免費
阿里雲 Elasticsearch 日誌增強版,首月六折,年付六折
阿里雲 Logstash 2核4G首月免費


image.png

image.png

Leave a Reply

Your email address will not be published. Required fields are marked *