用MySQL全文索引給FeedDB打造乙個搜尋引擎

2021-09-08 20:46:18 字數 1033 閱讀 8032

用mysql全文索引給feeddb打造乙個搜尋引擎 - 雜項其他 - python.cn(news, jobs)

原始出處:

xiaoxia[pg]

效果圖,歡迎測試 

只要你輸入關鍵字「xiaoxia」進行搜尋,絕對不會出現「xiaoxiao」的結果了,因為這是兩個不同的名字。

提到搜尋引擎技術就離不開分詞和索引,在分詞上,我使用的是 mmseg 的中文分演算法和搜狗的詞庫,分詞速度快的驚人。以至於我處理資料的瓶頸在mysql資料庫上。我使用了mysql的fulltext索引功能,在檢索效率上可能沒有sphinx那麼快,但是對於10萬個條目以內的資料庫,速度已經足夠了。為了達到精確查詢的目的,我只對**鏈結和標題兩個屬性進行了索引,fulltext的索引資料占用的空間也不多,才不到10m,挺環保的。

下面是未分詞的一段資料:

分詞之後的資料:

目前這個分詞效果還是挺滿意的。另外,在最近看的一本搜尋引擎相關的書籍中,提到了一種不依賴於詞庫的分詞方法,能夠應付一些新生的詞彙,有空研究一下。如果兩種方法都結合起來,應該能夠達到更好的效果

夜已深,明天繼續研究!

mysql全文索引的坑 MySQL全文索引問題

我有乙個包含以下資料的 文章 mysql select from articles id title body 1 mysql tutorial dbms stands for database 2 how to use mysql well after you went through a 3 o...

mysql全文索引

了解 solr 之後 發現全文索引也能做檢索 故了解了下 筆記如下 建立全文索引 alter table table add fulltext index fulltext table 列1 列2 查詢方式 select from table where match 列1 列2 against 查詢...

mysql全文索引

舊版的mysql的全文索引只能用在myisam 的char varchar和text的字段上。不過新版的mysql5.6.24上innodb引擎也加入了全文索引,所以具體資訊要隨時關注官網,create table article id int auto increment not null pri...