千萬級資料的全文檢索搜尋引擎(二)

2021-04-13 07:09:44 字數 609 閱讀 5656

全文檢索是一套比較複雜的系統,在介紹架構之前,需要介紹一些基本的模組。

千萬級資料的全文檢索搜尋引擎--分詞

(一)二元分詞

在我們的第乙個版本中,使用的是二元分詞,大概用了接近一年的時間,二元分詞就是每相鄰2個詞做一次切分,不包含英文,英文單獨切分。

二元分詞乙個缺點是索引比較大,有大量的冗餘,帶來儲存和索引查詢的壓力

第二個缺點是無法搜尋單字,這是乙個比較大的問題,在運營期間,這個缺點一直受到運營人員和市場人員的質疑。也是基於這個原因,我們引入了第二套分詞方法。

(二)辭典分詞

系統使用了乙個辭典,其中包含了一萬多條常用的短語,分詞時先在辭典中查詢出所有可能的分詞集合,然後選擇分詞粒度最小的乙個集合(後台索引時)。搜尋時,對使用者數輸入的長句子,在辭典中選擇乙個粒度最大的分詞集合。

為了解決上面的第二個缺點,我們引入了乙個單字索引,對資料做全切分,每個單字建立索引,由於漢字的數量有限,所以增加的擴充套件詞庫不會非常大。

分詞的乙個總的原則就是:使用者輸入的分詞粒度要盡量大,後台索引分詞粒度要盡量小。

django 全文搜尋引擎

全文檢索框架 pip install django haystack 全文檢索引擎 pip install whoosh 中文分詞框架 pip install jieba heystack一些配置都是固定寫好的,需要注意下 在終端執行,提示是否要刪除原有資訊,輸入y python manage.py...

搜尋引擎檢索技術

謝海勸 如此簡單的乙個輸入框 搜尋按鈕,卻可以實現如此神奇的一站式搜尋服務,為使用者提供豐富 準確的資訊,這要歸功於乙個強勁的後台引擎。使用者可曾想過,這麼簡單的行為,後台引擎可能會有成千上萬臺機器在為你服務。搜尋引擎就像一台高效運轉的發動機,不停響應使用者的請求,輸出使用者想要的資訊。高效的檢索系...

搜尋引擎檢索技術

如此簡單的乙個輸入框 搜尋按鈕,卻可以實現如此神奇的一站式搜尋服務,為使用者提供豐富 準確的資訊,這要歸功於乙個強勁的後台引擎。使用者可曾想過,這麼簡單的行為,後台引擎可能會有成千上萬臺機器在為你服務。搜尋引擎就像一台高效運轉的發動機,不停響應使用者的請求,輸出使用者想要的資訊。高效的檢索系統需要提...