linux安裝sphinx記錄 命令及詳細解釋

2021-06-27 17:14:18 字數 2552 閱讀 8832

解壓sphinx原始碼包:

$ tar xzvf sphinx-0.9.8.1.tar.gz

$ cd sphinx

執行configure配置程式:

$ ./configure [options]

有一些引數可以在配置的時候指定,主要如下:

完整的配置命令如下:./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql

編譯:$ make

在這個步驟,可能遇到乙個問題,就是報 

sphinx undefined reference to 'libiconv'

的錯誤,解決辦法是修改

src/makefile

(注意是src下的makefile不是原始碼目錄下的makefile,而是原始碼目錄下src目錄下的,更改makefile後還需回到原始碼目錄下編譯),編輯libs = -lm -lexpat 後面新增-liconv,即將該行該為:

libs = -lm -lexpat -liconv -l/usr/local/lib

4. 安裝

$ make install

如果編譯中沒有產生錯誤,這個步驟應該不會遇到問題。如果完成後未正確安裝,就要回去找make過程中遇到的錯誤了。

5. 執行測試

$ cd /usr/local/sphinx/etc

$ cp sphinx.conf.dist sphinx.conf

$ vi sphinx.conf

這裡,sphinx提供了乙個簡單的例子,基本步驟是先將

/sphinx/etc下面的sphinx.conf.dist重新命名為sphinx.conf,然後修改

sphinx.conf其中的配置,主要是修改你伺服器上面的mysql的使用者名稱、密碼、使用的資料庫等。修改的位置是sphinx.conf的source src1下面幾行。

$ mysql -u test < /usr/local/sphinx/etc/example.sql

這裡是匯入sphinx準備的測試資料,我們把資料匯入到mysql的test資料庫中。當然,這裡的資料庫要和你上面的配置檔案(sphinx.conf)中指定的sql_db值相同。注意,執行

這個命令

的話,如果你的mysql命令沒有加入到環境變數中,就需要用完整路徑,同時可能需要輸入密碼。比如你的mysql安裝在 /usr/local/mysql 目錄中,root賬戶的密碼是 ****** ,那麼命令應該調整為:

$ /usr/local/mysql/bin/mysql -uroot -p****** test < /usr/local/sphinx/etc/example.sql

$ cd /usr/local/sphinx/etc

$ /usr/local/sphinx/bin/indexer --all

這個命令是建立索引,當然資料基礎是剛剛匯入的example.sql的資料,如果這裡出錯,最大的可能是你的sphinx.conf中的資料庫配置錯了,你需要回去檢查並修正。但是,還有可能出現sphinx必須的庫檔案無法找到,例如出現以下兩種錯誤:

/usr/local/sphinx/bin/indexer: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: no such file or directory

/usr/local/sphinx/bin/indexer: error while loading shared libraries: libiconv.so.2: cannot open shared object file: no such file or directory

這主要是因為你安裝了一些庫後,沒有能夠配置相應的環境變數。你可以通過建立連線的方式修正這個問題,執行如下命令:

ln -s /usr/local/mysql/lib/libmysqlclient.so.15 /usr/lib/libmysqlclient.so.15

ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

這裡我假設你相應的軟體包安裝在/usr/local/*** 目錄下,如果你不是安裝在相應目錄下,你就需要使用你自己的路徑。如果你沒有安裝libiconv軟體包,則需要安裝下,這個安裝比較簡單,就不多說了。

如果還出現類似錯誤,照上面的方法修正。

$ cd /usr/local/sphinx/etc

$ /usr/local/sphinx/bin/search test

(上面命令執行可能報錯:index 'test1': search error: ,解決方法為加-i 引數)

執行上面的命令,你就啟動了sphinx程序了,如果沒什麼錯誤,可以通過ps -aux|grep '3312' 找到sphinx程序了。哈哈,大功告成!

linux安裝sphinx記錄 命令及詳細解釋

解壓sphinx原始碼包 tar xzvf sphinx 0.9.8.1.tar.gz cd sphinx 執行configure配置程式 configure options 有一些引數可以在配置的時候指定,主要如下 完整的配置命令如下 configure prefix usr local sphi...

sphinx 問題記錄

indexer error while loading shared libraries libmysqlclient.so.18 cannot open shared object file no such file or directory 發現sphinx indexer依賴庫ibmysqlc...

sphinx安裝使用

解壓收編譯配置 configure prefix usr local sphinx with mysql make make install cd usr local sphinx etc cp sphinx.conf.dist sphinx.conf 使用sphinx自帶的例子 匯入測試資料 my...