Elasticsearch之-倒排索引


 

一、倒排索引是什么

ES中用到了倒排索引,啥叫倒排索引呢,一般查詢都是根據索引值來查找屬性,倒排索引實際應用中需要根據屬性值來查找記錄,這種索引表中的每一個項都包括一個屬性值和該屬性值的記錄地址。由於不是由記錄位置來確定屬性值,而是由屬性值來確定記錄的位置,因而成為倒排索引。帶有倒排索引的文件我們稱之為倒排索引文件,簡稱倒排文件。

二、舉例

在存儲文件之前,先對文件進行分析,將文件分詞,對分詞建立索引,例如下面一句話   (分好的詞就類似於屬性值,建立的索引就相當於屬性值位置記錄)

今天是星期天我們出去玩

關鍵詞 文章
今天 文章1,文章3
星期天 文章2
出去玩 文章5,文章1

實際上es在做存儲的時候,更詳細(記錄出現的在哪個文章,出現的位置和次數)

關鍵詞 文章
今天 (文章1,<2,10>,2) (文章1,<8>,1)
星期天 (文章2,<12,25,100>,3)
出去玩 (文章5,<11,24,89>,3)(文章1,<8,19>,2)

三、倒排索引待解決的問題

1.大小寫轉換問題
2.詞干抽取    looking和look應該處理為同一個詞
3.分詞處理
4.倒排索引文件過大,需要壓縮編碼

 


免責聲明!

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



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