色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Linux下編譯安裝Sphinx、中文分詞coreseek及PHP的sphinx擴展

瀏覽:22日期:2022-09-14 11:15:08

Linux環境為:CentOS5.5、Ubuntu12.04

1、軟件下載

sphinx-2.1.3

coreseek-4.1

2、安裝 sphinx

tar zxvf sphinx-2.1.3.tar.gz //解壓sphinx包cd sphinx-2.1.3./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql/

--prefix:指定 sphinx 的安裝路徑--with-mysql:指定 mysql 安裝路徑

sudo make && make install

編譯并安裝

安裝成功之后,sphinx 會形成三個命令:

indexer 創建索引命令searchd 啟動進程命令search 命令行搜索命令

注:上述命令默認在/usr/local/sphinx/bin目錄下

3、配置 sphinx及使用

cd /usr/local/sphinx/etc

進入 sphinx 的 etc 目錄下

sudo cp sphinx.conf.dist sphinx.conf

拷貝一份配置文件,并且命名為 sphinx.conf。

將該目錄下的example.sql文件導入本地數據庫名為test的數據庫中。

修改配置信息,將其中數據庫連接信息修改為你的本地數據庫信息。

然后使用如下命令導入數據并生成索引:

$ cd /usr/local/sphinx/etc$ sudo /usr/local/sphinx/bin/indexer --all

如果執行indexer命令報錯:

ERROR: index ’test1stemmed’: sql_connect: Can’t connect to local MySQL server through socket ’/var/run/mysqld/mysqld.sock’

則可能是因為mysql.sock的位置問題,在本機中,改位置是/tmp/mysql.sock(與安裝mysql時設置有關),在sphinx.conf中取消這一行的注釋即可(去掉前面的#號):

#sql_sock ? ? ? ? ? ? ? ?= /tmp/mysql.sock

再次執行上述indexer命令,一切正常。

執行查詢的話可以使用如下指令:

$ cd /usr/local/sphinx/etc$ sudo /usr/local/sphinx/bin/search test

在執行search搜索過程中可能報錯:

index ’test1’: search error: query too complex, not enough stack (thread_stack=-2665032K or higher required).

我試著在sphinx.conf中的searchd模塊中修改thread_stack的值,但沒有解決問題,后來注釋掉source src1中的如下這行

#sql_query_info ? ? ? ? = SELECT * FROM documents WHERE id=$id

再執行search命令,就OK了。

后臺啟動sphinx使用如下指令:

$ cd /usr/local/sphinx/etc$ sudo /usr/local/sphinx/bin/searchd

使用php腳本執行搜素命令,可使用如下指令:

$ cd sphinx/api$ php test.php test

輸入結果如下:

Query ’test ’ retrieved 3 of 3 matches in 0.022 sec.Query stats:’test’ found 10 times in 6 documentsMatches:1. doc_id=1, weight=101, group_id=1, date_added=2014-01-20 10:07:372. doc_id=2, weight=101, group_id=1, date_added=2014-01-20 10:07:373. doc_id=4, weight=1, group_id=2, date_added=2014-01-20 10:07:374、安裝 coreseek

tar zxvf coreseek-4.1.tar.gz

解壓會出現兩個目錄:csft-4.1、mmseg-3.2.14

先安裝 mmseg

cd mmseg-3.2.14/./configure --prefix=/usr/local/mmseg

編譯如果出現錯誤:“config.status: error: cannot find input file: src/Makefile.in”

解決方案:

sudo apt-get install automakeaclocallibtoolize --force 我運行后有一個錯誤,沒管它。automake --add-missingautoconfautoheadermake clean./configure --prefix=/usr/local/mmsegmakesudo make install

安裝 csft(coreseek)

cd csft-4.1/sh buildconf.sh./configure --prefix=/usr/local/coreseek --with-mysql=/usr/local/mysql/ --with-mmseg=/usr/local/mmseg/ --with-mmseg-includes=/usr/local/mmseg/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg/lib/ sudo make && make install

安裝完成之后和sphinx安裝后一樣,需要導入coreseek/etc/example.sql文件到本地數據庫,然后拷貝sphinx.conf.dist到csft.conf,修改其中數據庫用戶名及密碼,測試出錯和sphinx中出錯解決辦法一樣。

使用 sphinx 需要做以下幾件事

1.有數據;

2.建立 sphinx 配置文件;

3.生成索引;

4.啟動 searchd 服務進程,默認是9312

5.用 PHP 去連接 sphinx 服務

啟動 sphinx

cd /usr/local/coreseek/bin/./searchd

啟動命令

searchd 命令參數介紹:

-c 指定配置文件

--stop 停止服務

--pidfile 用來顯式指定一個 PID 文件

-p 指定端口

5、php 安裝 sphinx?擴展

sudo pecl install sphinx

如果出現錯誤:“configure: error: Cannot find libsphinxclient headers”

解決方法:

cd coreseek-4.1/csft-4.1/api/libsphinxclient/./configure --prefix=/usr/local/libsphinxclientsudo make && make install

解決完畢!

回去接著執行

./configure --with-php-config=/usr/local/php/bin/php-config --with-sphinx=/usr/local/libsphinxclient

sudo make && make install

出現類似“Installing shared extensions: /usr/lib/php5/20090626/sphinx.so”,表示成功。

可以進入該目錄下會發現生成了一個 sphinx.so 文件

在 php.ini 中加載該 so 文件

extension=/usr/lib/php5/20090626/sphinx.so

重啟 apache ,phpinfo() 中出現這個表明成功。

標簽: PHP
相關文章:
主站蜘蛛池模板: 自拍一区在线观看 | 台湾三级 | 久久在线视频免费观看 | 中文字幕亚洲不卡在线亚瑟 | 高清午夜线观看免费 | 91精品国产综合久久欧美 | 一级一毛片a级毛片欧美 | 欧美a级毛片免费播敢 | 国产精品怡红院在线观看 | japonensis国产福利| 日本苍井一级毛片 | 黄色毛片视频校园交易 | 国产高清在线 | 经典三级久久久久 | 免费观看日本特色做爰视频在线 | 99免费精品视频 | 窝窝午夜看片七次郎青草视频 | 日韩欧美亚洲每的更新在线 | 亚洲综合色视频在线观看 | 久草免费手机视频 | 国产日韩精品欧美一区 | 不卡午夜视频 | 99久久视频 | 正在播放亚洲一区 | 国产成人精品999在线 | 一区二区网站在线观看 | 国产成人啪精品午夜在线观看 | 韩国午夜三级理论 | 97在线免费 | 国产成人a毛片在线 | 欧美一级一一特黄 | 一级欧美一级日韩毛片99 | 欧美日韩一区二区在线观看 | 99精品久久99久久久久久 | 欧美一级做一a做片性视频 欧美一级做一级爱a做片性 | 欧美一级视频在线观看 | 美国一级视频 | 色一级片 | 欧美精品久久久亚洲 | 一级一级特黄女人精品毛片 | 亚洲精品亚洲人成在线 |