Elasticsearch的索引模塊(正排索引、倒排索引、索引分析模塊Analyzer、索引和搜索、停用詞、中文分詞器)


 

 

 

正向索引的結構如下:

       “文檔1”的ID > 單詞1:出現次數,出現位置列表;單詞2:出現次數,出現位置列表;…………。

       “文檔2”的ID > 此文檔出現的關鍵詞列表。

 

  一般是通過key,去找value。

 

 

 

 

      當用戶在主頁上搜索關鍵詞“華為手機”時,假設只存在正向索引(forward index),那么就需要掃描索引庫中的所有文檔,找出所有包含關鍵詞“華為手機”的文檔,再根據打分模型進行打分,排出名次后呈現給用戶。因為互聯網上收錄在搜索引擎中的文檔的數目是個天文數字,這樣的索引結構根本無法滿足實時返回排名結果的要求。

       所以,搜索引擎會將正向索引重新構建為倒排索引,即把文件ID對應到關鍵詞的映射轉換為關鍵詞到文件ID的映射,每個關鍵詞都對應着一系列的文件,這些文件中都出現這個關鍵詞。

 

 

 

 

       得到倒排索引的結構如下:

       “關鍵詞1”:“文檔1”的ID,“文檔2”的ID,…………。

       “關鍵詞2”:帶有此關鍵詞的文檔ID列表。

 

  從詞的關鍵字,去找文檔。

 

 

 

 

 

 

  官網

https://www.elastic.co/guide/en/elasticsearch/reference/5.x/analysis.html

 

 

 

  

  官網,提供了很多很多。大家自行去看!

 

 

 

        

 

 

 

 

 

 

索引分析模塊Analyzer

  分解器Tokenizer

  詞元過濾器token filters

 

 

 

 

 

   經過 Tokenizer

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Elasticsearch之IKAnalyzer的過濾停止詞

 

 

 

  大家,有興趣,可以看看,英文停用詞

http://www.ranks.nl/stopwords

 

 

 

 

 

   

 

    大家,有興趣,可以看看,中文停用詞

 

 

 

 

 

 

 

 

 

 

Elasticsearch之中文分詞器

 

 

 

 

 

 

 

 

 

 

Elasticsearch之幾個重要的分詞器

 

 

 

 

   更詳細,請見

Elasticsearch之中文分詞器插件es-ik(博主推薦)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM