[參考Coreseek 全文檢索服務器 2.0 (Sphinx 0.9.8)參考手冊,詳情見http://www.coreseek.cn/docs/sphinx_doc_zhcn_0.9.pdf]
1.1 什麼是Sphinx
Sphinx 是 SQL Phrase Index 的縮寫,但不幸的和 CMU 的 Sphinx 項目重名。Coreseek 全文檢索服務器 2.0 是在 Sphinx 基礎上開發的全文檢索軟件,按照 GPLv2 協議發行
1.2 特稱:
(1)高速的創建索引(在當代 CPU 上,峯值性能可達到 10 MB/秒);
(2)高性能的搜索(在 2 – 4GB 的文本數據上,平均每次檢索響應時間小於 0.1 秒);
(3)可處理海量數據(目前已知能夠處理超過 100 GB 的文本數據, 在單一 CPU 的系統上可處理 100 M 文檔);
(4)提供了優秀的相關度算法,基於短語類似度和統計(BM25)的複合 Ranking 方法;
(5)支持分佈式搜索;
(6)provides document exceprts generation;
(7)可做爲 MySQL 的存儲引擎提供搜索服務;
(8)支持布爾、短語、詞語類似度等多種檢索模式;
(9)文檔支持多個全文檢索字段(最大不超過 32 個);
(10)文檔支持多個額外的屬性信息(例如:分組信息,時間戳等);
(11)中止詞查詢;
(12)支持單一字節編碼和 UTF-8 編碼;
(13)原生的 MySQL 支持(同時支持 MyISAM 和 InnoDB );
(14)原生的 PostgreSQL 支持.
1.3 如何得到 Sphinx
Sphinx 能夠從官方網站 http://www.sphinxsearch.com/ 下載,支持中文分詞的 Sphinx 能夠從http://www.coreseek.com/ 下載。
目前,Sphinx 的發佈包包括以下軟件:
(1)indexer: 用於建立全文索引;
(2)search: 一個簡單的命令行(CLI) 的測試程序,用於測試全文索引;
(3)searchd: 一個守護進程,其餘軟件能夠經過這個守護進程進行全文檢索;
(4)sphinxapi: 一系列 searchd 的客戶端 API 庫,用於流行的 Web 腳本開發語言(PHP,Python,Perl,Ruby)。
算法