linux 配置 sphinx 全文檢索搜尋引擎,_PHP教程

來源:互聯網
上載者:User

linux 配置 sphinx 全文檢索搜尋引擎,


因為公司網站需要,最近在弄sphinx搜尋引擎,也是遇到各種問題,最終終於解決了。

伺服器系統:centos7 (64位)

詳情看安裝官網的安裝教程進行 coreseek 3.2.14

這裡只提一些注意的地方

1:在安裝前先安裝基礎開發庫及資料庫依賴

yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel:

2:下載

 wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz

3:安裝mmseg,這裡應該是沒有什麼問題的。

$ cd mmseg-3.2.14$ ./bootstrap    #輸出的warning資訊可以忽略,如果出現error則需要解決$ ./configure --prefix=/usr/local/mmseg3$ make && make install$ cd ..

4:安裝csft

進入到csft目錄,先修改src/sphixexpr.cpp這個檔案,裡面3個地方編譯會出錯的

將ExprEval改為this->ExprEval

再進行下一步安裝,這樣就可以了。

sh buildconf.sh ./configure --prefix=/usr/local/coreseek  --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-mysqlmake && make install

5:然後就是設定檔,到安裝目錄下複製一份

cd /usr/local/coreseek/etccp sphinx.conf.dist sphinx.confvim sphinx.conf

主要修改資料庫參數 ,其他一些警告問題,注釋掉設定檔裡面相應內容即可,暫時未發現問題

type                    = mysqlsql_host                = localhostsql_user                = rootsql_pass                = sql_db                    = testsql_port                = 3306sql_query_pre            = SET NAMES utf8

然後儲存,產生索引

cd /usr/local/coreseek/bin./indexer -c /usr/local/coreseek/etc/sphinx.conf --all./searchd -c  /usr/local/coreseek/etc/sphinx.conf

匯入測試資料,調用測試檔案

require ( "sphinxapi.php" );$cl = new SphinxClient ();$cl->SetServer ( '127.0.0.1', 9312);$cl->SetConnectTimeout ( 3 );$cl->SetArrayResult ( true );$cl->SetMatchMode ( SPH_MATCH_ANY);$res = $cl->Query ( '網路搜尋', "*" );print_r($cl);print_r($res);

應該就沒有問題,確保系統中文zh_CN.UTF-8,才能保證中文顯示

下面是自己公司的情況,可能也有人會有這樣的情況。

搜尋引擎在一個伺服器,而網站及資料庫在另一個伺服器,這樣的情況下需要考慮的

1:coreseek 安裝中如果提示libmysqlclient.so.18共用庫找不到

在mysql伺服器複製一份libmysqlclient.so.18,路徑為/usr/lib64/mysql/libmysqlclient.so.18

2:搜尋引擎所在的伺服器防火牆連接埠是否開放

centos7先安裝

yum install firewalld-config

然後開啟連接埠

firewall-cmd [--zone=] --add-port=[-]/ [--timeout=]
firewall-cmd --permanent --add-port=10-9900/tc

查詢

firewall-cmd --permanent --query-port=80/tcp

3:網站php調用api版本必須與coreseek 版本一致。

測試過程可以在php中直接輸出

var_dump($cl);//$cl為sphinxClient對象

查看錯誤資訊。

以上問題解決了應該就可以正常使用了。

http://www.bkjia.com/PHPjc/1121393.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1121393.htmlTechArticlelinux 配置 sphinx 全文檢索搜尋引擎, 因為公司網站需要,最近在弄sphinx搜尋引擎,也是遇到各種問題,最終終於解決了。 伺服器系統:centos7 (...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.