2.1 平臺
目前的階段,Sphinx 的 Windows 版可用於測試和調試,但不建議用於生產系統。突出的兩個問題是:
(1)缺乏併發查詢的支持;
(2)缺乏索引數據熱切換的支持。雖然目前已經有成功的生產環境克服了這兩個問題,仍然不推薦在 Windows 下運行 Sphinx 提供高強度的搜索服務。
2.2 安裝步驟
(1)將你下載的 tar 包解壓,並進入 sphinx 子目錄:
$ tar xzvf sphinx-0.9.7.tar.gz
$ cd sphinx
(2)運行 configuration 程序:
$ ./configure
configure 程序有不少運行選項。完整的列表能夠經過使用 --help 開關獲得。最重要的以下:
--prefix, 定義將 Sphinx 安裝到何處;
--with-mysql, 當自動檢測失敗時,指出在那裏能找到 MySQL 頭文件和庫文件;
--with-pgsql, 指出在那裏能找到 PostgreSQL 頭文件和庫文件。
(3)製做二進制程序:
$ make
(4)按照二進制程序到你選好的目錄下:
$ make install
2.3 常見問題及解決
(1)若是 configure 程序沒有找到 MySQL 的頭文件和庫文件,請試圖檢查 mysql-devel 這個包是否安裝了。在有些系統上,默認安裝包括這個包。
(2)若是 make 程序給出以下錯誤提示,
/bin/sh: g++: command not found
make[1]: *** [libsphinx_a-sphinx.o] Error 127
請檢查 gcc-c++ 這個包是否安裝了。
(3)若是你在編譯時獲得以下錯誤
sphinx.cpp:67: error: invalid application of `sizeof' to incomplete type `Private::SizeError<false>'
這意味着某些編譯時的類型檢查失敗了,一個有可能的緣由是在你的系統上類型 off_t 的長度小於 64bit。一個快速的修復手段是,你能夠修改 sphinx.h ,將在定義類型SphOffset_t處,將 off_t 替換成 DWORD,須要注意,這種改動將使你的全文索引文件不能超過 2GB。
即使這種修改有用,也請彙報這一問題,在彙報中請包括具體的錯誤信息以及操做系統編譯器的配置狀況。這樣,我可能可以在下一個版本中解決這一問題。
2.4 使用入門
如下全部的例子都假設你將 sphinx 安裝在目錄 /usr/local/sphinx 中了。爲了使用 Sphinx,你須要:
(1)建立配置文件
缺省的配置文件名爲 sphinx.conf。所有的 Sphinx 提供的程序默認都在當前工做的目錄下尋找該文件。
由 configure 程序生成的示例配置文件 sphinx.conf.dist 中包括所有選項的註釋,複製並編輯這個文件使之適用於你的具體狀況:
$ cd /usr/local/sphinx/etc
$ cp sphinx.conf.dist sphinx.conf
$ vi sphinx.conf
在示例配置文件中,將試圖對 MySQL 數據庫 test 中的 documents 表創建索引;
所以在這裏還提供了 example.sql 用於給測試表增長數據用於測試:
$ mysql -u test < /usr/local/sphinx/etc/example.sql
(2)運行 indexer 建立你的全文索引:
$ cd /usr/local/sphinx/etc
$ /usr/local/sphinx/bin/indexer
(3)檢索你新建立的索引!
你可使用 search 實用程序能夠從命令行對索引進行檢索:
$ cd /usr/local/sphinx/etc
$ /usr/local/sphinx/bin/search test
注意:若是要從 PHP 腳本檢索索引,你須要:
1. 運行守護進程 searchd,PHP 腳本須要鏈接到 searchd 上進行檢索 :
$ cd /usr/local/sphinx/etc
$ /usr/local/sphinx/bin/searchd
2. 運行 PHP API 附帶的 test 腳本(運行以前請確認 searchd 守護進程已啓動):
$ cd sphinx/api
$ php test.php test
3. 將 API 文件(位於 api/sphinxapi.php) 包含進你本身的腳本,開始編程。 php