Solr與Sphinx的比較

2021-07-04 15:04:02 字數 1062 閱讀 9064

solr與sphinx的比較

solr版本:4.8.1

coreseek版本:3.2.14 (基於sphinx 0.9.9 release)

13. 中文分詞的支援比較

sphinx目前只支援mmseg3,sphinx for chinese兩種分詞,目前大家使用的比較多的是mmseg3。mmseg3的詞庫需要預先編譯,不利於詞庫的擴充。

solr目前支援的詞庫比較多,目前支援的有庖丁,ik,mmsegj4,通過比較分詞效果,ik在分詞的查全和查準的效果上更好一些。ik分詞支援設定停用詞和擴充套件詞庫,擴充套件詞庫每個詞一行的方式進行擴充套件。

14. 從mysql資料庫索引資料的支援

sphinx可以通過配置資料來源的方式直接從mysql中索引資料,在資料量比較大的時候,可以設定主索引+增量索引的方式來同步資料。但是主索引需要是根據mysql表的主鍵id來設定索引範圍,比如id小於9000,000,id大於9000,000的通過增量索引來同步。這種只適應id小於9000,000的資料更新頻繁的情況。

如果主索引和增量索引是以記錄的最後更新時間來區分的話,由於主索引和增量索引使用的是2個不同的索引檔案,這就會造成主索引和增量索引中的資料不一致,導致檢索時出現本不該出現的記錄。這種情況就需要把增量索引合併到主索引中,如果主索引的資料比較大,不確定合併的時間需要多少。

solr索引mysql資料時,可以配置成主索引+增量索引,主索引和增量索引之間以更新的時間戳為分割線,solr會記錄每次更新的時間戳。由於solr的增量索引和增量索引使用的都是乙個索引檔案,所以在執行增量索引時會自動合併到最終的索引中。

15. 實時檢索的支援

sphinx本身不支援中文分詞,coreseek是現在用的最多的sphinx中文全文檢索,它提供了為sphinx設計的中文分詞包libmmseg。coreseek目前穩定版是3.2.14(基於sphinx 0.9.9 release開發),該版本還不支援實時檢索。目前coresekk4.1還是測試版,測試版本支援實時檢索,但是不太穩定。

solr的索引支援實時新增、更新和刪除,可以根據記錄的最後更新時間實現增量更新,在增量更新資料不多的情況下,可以設定增量更新任務為10秒更新一次。從而達到資料的實時同步。

Solr與Sphinx的比較

solr與sphinx的比較 solr版本 4.8.1 coreseek版本 3.2.14 基於sphinx 0.9.9 release 13.中文分詞的支援比較 sphinx目前只支援mmseg3,sphinx for chinese兩種分詞,目前大家使用的比較多的是mmseg3。mmseg3的詞...

sphinx 的安裝與應用

1 php的windoes sphinx擴充套件安裝 php的linux sphinx擴充套件安裝 wget tarzxf sphinx 1.3.0.tgz cdsphinx 1.3.0 usr local php bin phpize configure with php config usr l...

Sphinx安裝與使用

首先你要有mysql環境,我使用的是lnmp環境 wget tar zxvf sphinx 2.2.11 release tar.gz cd sphinx 2.2.11 release tar.gz configure prefix usr local sphinx with mysql usr l...