sphinx定義:是乙個基於sql的全文檢索引擎,可以結合mysql,postgresql做全文搜尋,它可以提供比資料庫本身更專業的搜尋功能,使得應用程式更容易實現專業化的全文檢索。
同時為mysql也設計了乙個儲存引擎外掛程式。
sphinx優點:
單一索引最大可包含1億條記錄,在1千萬條記錄情況下的查詢速度為0.x秒(毫秒級)。
sphinx建立索引的速度為:建立100萬條記錄的索引只需 3~4分鐘,建立1000萬條記錄的索引可以在50分鐘內完成,
而只包含最新10萬條記錄的增量索引,重建一次只需幾十秒。
sphinx的主要特性包括:
1、高速索引 (在**cpu上,近10 mb/秒);
2、高速搜尋 (2-4g的文字量中平均查詢速度不到0.1秒);
3、高可用性 (單cpu上最大可支援100 gb的文字,100m文件)
4、支援分布式搜尋
5、提供從mysql內部的外掛程式式儲存引擎上搜尋 支援布林,短語, 和近義詞查詢
6、持每個文件多個全文檢索域(預設最大32個); 支援每個文件多屬性; 支援斷詞; 支援單位元組編碼與utf-8編碼
sphinx適用場景:
1、在資料量大的時候適合用它進行搜尋,他比myisam和innodb 都要快
能對多個源表的混合資料建立索引,不限於單個表上的字段。 能將來自多個索引的搜尋結果進行整合
2、高效地使用where子句和limit字句
當在多個where條件做select查詢時,索引選擇性較差或者根本沒有索引支援的字段,效能較差。sphinx可以對關鍵字做索引
因為sphinx是把資料儲存到ram中,所以sphinx不會做太多的i/o操作
3、優化group by查詢
在sphinx中的排序和分組都是用固定的記憶體,它的效率比類似資料集全部可以放在ram的mysql查詢要稍微高些。
Sphinx (Sphinx(斯芬克司))
sphinx是乙個基於sql的全文檢索引擎,可以結合mysql,postgresql做全文搜尋,它可以提供比資料庫本身更專業的搜尋功能,使得應用程式更容易實現專業化的全文檢索。sphinx特別為一些指令碼語言設計搜尋api介面,如php,python,perl,ruby等,同時為mysql也設計了乙...
Sphinx實時索引
1,首先建立乙個表用來儲存主索引和增量索引的id值 create table if not exists sph counter s id int 10 unsigned not null auto increment,p id int 11 not null,primary key s id 2,...
sphinx配置文件
sphinx的配置 source 源名稱1 index 索引名稱1 source 源名稱2 index 索引名稱2 indexer searchd type 資料庫型別 mysql 或sql sql user 資料庫使用者名稱 sql pass 資料庫密碼 sql db 資料庫名稱 sql port...