極客學習——倒排索引、Analyzer分詞

倒排索引的核心組成

  1. 單詞詞典:記錄所有文檔的單詞,記錄單詞到倒排列表的關聯關係
  2. 倒排列表記錄了單詞對應的文檔組合,由倒排索引項組成
    倒排索引項:
  • 文檔ID
  • 詞頻TF :該單詞在文檔中出現的次數,用於相關性評分
  • 位置:單詞在文檔中分詞的位置,用於語句搜索
  • 偏移:記錄單詞的開始結束位置,實現高亮顯示

elasticsearch的json文檔中的每個字段,都有自己的倒排索引;可以指定對某些字段不做索引,可節省存儲空間,但字段無法被搜索。

Analysis

  1. Analysis :文本分析是把全文本轉換成一系列單詞(term/token)的過程,也叫分詞
  2. Analysis是通過Analyzer(分詞器)來實現的。es有內置的分析器,也可以自定製分析器
  3. 除了在數據寫入時轉換詞條,匹配Query語句時也需要用相同的分析器對查詢語句進行分析。

Analyzer的組成

  1. character filters: 針對原始文本處理
  2. tokenizer:按照規則將文本切分爲單詞
  3. token filter:將切分的單詞進行加工、轉爲小寫、刪除stopwords、增加同義詞
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章