php 连接 sphinx:
a. 安装扩展:
a-1. 进入目录:
cd ../csft-4.1/api/libsphinxclient/
a-2. 编译:
- aclocal
- libtoolize --force
- automake --add-missing
- autoconf
- autoheader
- make clean
- ./configure --prefix=/usr/local/sphinxclient
- make && make install
a-3. 回到软件包目录:
cd ../../../../
a-4. 解压:
tar -xzf sphinx-1.3.0.tgz
a-5. 安装 php-devel:
yum -y install php php-devel
a-6. 进入目录:
cd sphinx-1.3.0
a-7. 安装:
- phpize
- ./configure --with-php-config=/usr/bin/php-config --with-sphinx=/usr/local/sphinxclient
- make && make install
a-8. 开启 php-sphinx 扩展:
vim /etc/php.ini
在末尾加上:
- [sphinx]
- extension=sphinx.so
b. 测试:
b-1. 启动 mariadb 服务:
systemctl start mariadb
b-2. 添加测试数据:
mysql -uroot -p123456 </usr/local/coreseek/etc/example.sql
b-3. 复制配置文件:
- cp /usr/local/coreseek/etc/sphinx.conf.dist /usr/local/coreseek/etc/csft.conf
- cp /home/lee/sphinx/coreseek-4.1-beta/mmseg-3.2.14/data/*/usr/local/mmseg3/etc/
- b-4. 修改配置文件:
- vim /usr/local/coreseek/etc/csft.conf
- source src1
- {
- type = mysql
- sql_host = localhost
- sql_user = root
- sql_pass = 123456
- sql_db = test
- sql_port = 3306 # optional, default is 3306
- sql_query_pre = SET NAMES utf8
- sql_sock = /var/lib/mysql/mysql.sock
- sql_query = SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content FROM documents
- sql_attr_uint = group_id
- sql_attr_timestamp = date_added
- sql_ranged_throttle = 0
- sql_query_info_pre = SET NAMES utf8
- sql_query_info = SELECT * FROM documents WHERE id=$id
- }
- source src1throttled : src1
- {
- sql_ranged_throttle = 100
- }
- index test1
- {
- source = src1
- path = /usr/local/coreseek/var/data/test1
- docinfo = extern
- mlock = 0
- morphology = none
- min_word_len = 1
- html_strip = 0
- charset_dictpath = /usr/local/mmseg3/etc/
- charset_type = zh_cn.utf-8
- }
- indexer
- {
- mem_limit = 128M
- }
- searchd
- {
- listen = 9312
- listen = 9306:mysql41
- log = /usr/local/coreseek/var/log/searchd.log
- query_log = /usr/local/coreseek/var/log/query.log
- read_timeout = 5
- client_timeout = 300
- max_children = 30
- pid_file = /usr/local/coreseek/var/log/searchd.pid
- max_matches = 1000
- seamless_rotate = 1
- preopen_indexes = 1
- unlink_old = 1
- mva_updates_pool = 1M
- max_packet_size = 8M
- max_filters = 256
- max_filter_values = 4096
- max_batch_queries = 32
- workers = threads # for RT to work
- }
- b-5. : 复制二进制文件:
- cp /usr/local/coreseek/bin/*/usr/bin/
b-6. 生成索引:
indexer --rotate --all
b-7. 启动服务:
searchd
b-8. 停止服务:
searchd --stop
b-9. 测试:
b-9-1. 编写测试脚本:
- vim test.php
- <?php
- $sphinx = new SphinxClient();
- $sphinx->SetServer("127.0.0.1",9312);
- $sphinx->SetMatchMode(SPH_MATCH_ALL);
- $sphinx->SetLimits(0, 20, 1000);
- $sphinx->SetArrayResult(true);
- $result = $sphinx -> query("one","test1");
- var_dump($result);
b-9-2. 运行脚本:
php test.php
四,
来源: http://www.bubuko.com/infodetail-2613415.html