[coreseek/sphinx學習筆記2]--安裝

[參考Coreseek 全文檢索服務器 2.0 (Sphinx 0.9.8)參考手冊,詳情見 http://www.coreseek.cn/docs/sphinx_doc_zhcn_0.9.pdf]

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

相關文章
相關標籤/搜索