Sphinx是一個基於SQL的全文檢索引擎,可以結合MySQL,PostgreSQL做全文搜索,它可以提供比數據庫本身更專業的搜索功能,使得應用程序更容易實現專業化的全文檢索。Sphinx特彆為一些腳本語言設計搜索API接口,如PHP,Python,Perl,Ruby等,同時為MySQL也設計了一個存儲引擎插件。
Sphinx 是一個在GPLv2 下發布的一個全文檢索引擎,商業授權(例如, 嵌入到其他程序中)
需要聯係我們(Sphinxsearch.com)以獲得商業授權。
一般而言,Sphinx是一個獨立的搜索引擎,意圖為其他應用提供高速、低空間占用、高結果
相關度的全文搜索功能。Sphinx可以非常容易的與SQL數據庫和腳本語言集成。
當前係統內置MySQL和PostgreSQL 數據庫數據源的支持,也支持從標準輸入讀取特定格式
的XML數據。通過修改源代碼,用戶可以自行增加新的數據源(例如:其他類型的DBMS
的原生支持)。
搜索API支持PHP、Python、Perl、Rudy和Java,並且也可以用作MySQL存儲引擎。搜索
API非常簡單,可以在若乾個小時之內移植到新的語言上。
Sphinx 單一索引最大可包含1億條記錄,在1千萬條記錄情況下的查詢速度為0.x秒(毫秒級)。Sphinx創建索引的速度為:創建100萬條記錄的索引隻需 3~4分鐘,創建1000萬條記錄的索引可以在50分鐘內完成,而隻包含最新10萬條記錄的增量索引,重建一次隻需幾十秒。
Sphinx的主要特性包括:
高速索引 (在新款CPU上,近10 MB/秒);高速搜索 (2-4G的文本量中平均查詢速度不到0.1秒);高可用性 (單CPU上最大可支持100 GB的文本,100M文檔);提供良好的相關性排名支持分布式搜索;提供文檔摘要生成;提供從MySQL內部的插件式存儲引擎上搜索支持布爾,短語, 和近義詞查詢;支持每個文檔多個全文檢索域(默認最大32個);支持每個文檔多屬性;支持斷詞;支持單字節編碼與UTF-8編碼;