sphinx在linux系统的安装
来源:互联网 发布:手机qq视频录制软件 编辑:程序博客网 时间:2024/05/21 01:53
本人机器系统:
[root@xxx ~]# cat /proc/version
Linux version 2.6.32-431.23.3.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Thu Jul 31 17:20:51 UTC 2014
1.到官网下载源代码安装,你也可以根据系统直接下载rpm包安装
我们这里选择源码安装
下载完之后,放到目录/home 下
2.解压>>:tar -xzvf sphinx-2.2.10-release.tar.gz
>>:mv sphinx-2.2.10-release sphinx
>>:cd sphinx
>>:./configure --prefix=/usr/local/sphinx
>>:make
make install
cd /usr/local/sphinx/etc/
mv sphinx-min.conf.dist sphinx.conf
vim sphinx.conf
下面是里面的内容配置
#
# Minimal Sphinx configuration sample (clean, simple, functional)
#
source src1
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass =
sql_db = test //数据库name
sql_port = 3306 # optional, default is 3306
sql_query = \
SELECT id, realname,import_id, account, source ,UNIX_TIMESTAMP(import_time) AS import_timestamp \
FROM contact_list_test
sql_attr_uint = id
sql_attr_timestamp= import_timestamp
}
index test1
{
source = src1
path = /usr/local/sphinx/var/data/test1
}
index testrt
{
type = rt
rt_mem_limit = 128M
path = /usr/local/sphinx/var/data/testrt
rt_field = title
rt_field = content
rt_attr_uint = gid
}
indexer
{
mem_limit = 128M
}
searchd
{
listen = 9312
listen = 9306:mysql41
log = /usr/local/sphinx/var/log/searchd.log
query_log = /usr/local/sphinx/var/log/query.log
read_timeout = 5
max_children = 30
pid_file = /usr/local/sphinx/var/log/searchd.pid
seamless_rotate= 1
preopen_indexes= 1
unlink_old = 1
workers = threads # for RT to work
binlog_path = /usr/local/sphinx/var/data
}
生成索引:
cd /usr/local/sphinx/bin
./indexer -c /usr/local/sphinx/etc/sphinx.conf --all
如果此时出现以下错误,
FATAL: failed to lock /usr/local/sphinx/var/data/test1.spl: Resource temporarily unavailable, will not index. Try --rotate option.
请改用命令
./indexer -c /usr/local/sphinx/etc/sphinx.conf --all --rotate
启动spinx搜索服务器:./searchd -c /usr/local/sphinx/etc/sphinx.conf
使用sphinx php api测试:
<?phprequire ( "sphinxapi.php" ); //此文件在sphinx源代码的api文件夹中可以找到$cl = new SphinxClient ();$q = "weibo";$sql = "test1";$mode = SPH_MATCH_ALL;$host = "localhost";$port = 9312;$index = "*";// $groupby = "";// $groupsort = "@group desc";// $filter = "group_id";// $filtervals = array();// $distinct = "";// $sortby = "";// $sortexpr = "";// $limit = 20;// $ranker = SPH_RANK_PROXIMITY_BM25;// $select = "";$cl->SetServer ( $host, $port );$cl->SetConnectTimeout ( 1 );$cl->SetArrayResult ( true );$cl->SetMatchMode ( $mode );// if ( count($filtervals) )$cl->SetFilter ( $filter, $filtervals );// if ( $groupby )$cl->SetGroupBy ( $groupby, SPH_GROUPBY_ATTR, $groupsort );// if ( $sortby )$cl->SetSortMode ( SPH_SORT_EXTENDED, $sortby );// if ( $sortexpr )$cl->SetSortMode ( SPH_SORT_EXPR, $sortexpr );// if ( $distinct )$cl->SetGroupDistinct ( $distinct );// if ( $select )$cl->SetSelect ( $select );// if ( $limit )$cl->SetLimits ( 0, $limit, ( $limit>1000 ) ? $limit : 1000 );//$cl->SetRankingMode ( $ranker );$res = $cl->Query ( $q, $index );////////////////// print me out////////////////if ( $res===false ){print "Query failed: " . $cl->GetLastError() . ".<br/>";} else{if ( $cl->GetLastWarning() )print "WARNING: " . $cl->GetLastWarning() . "<br/><br/>";print "Query '$q' retrieved $res[total] of $res[total_found] matches in $res[time] sec.<br/>";print "Query stats:<br/>";if ( is_array($res["words"]) )foreach ( $res["words"] as $word => $info )print " '$word' found $info[hits] times in $info[docs] documents\n";print "<br/>";if ( is_array($res["matches"]) ){$n = 1;print "Matches:<br/>";foreach ( $res["matches"] as $docinfo ){print "$n. doc_id=$docinfo[id], weight=$docinfo[weight]";foreach ( $res["attrs"] as $attrname => $attrtype ){$value = $docinfo["attrs"][$attrname];if ( $attrtype==SPH_ATTR_MULTI || $attrtype==SPH_ATTR_MULTI64 ){$value = "(" . join ( ",", $value ) .")";} else{if ( $attrtype==SPH_ATTR_TIMESTAMP )$value = date ( "Y-m-d H:i:s", $value );}print ", $attrname=$value";}print "<br/>";$n++;}}}//// $Id$//?>
打印的结果:
Query 'weibo' retrieved 1000 of 3873 matches in 0.001 sec.
Query stats:
'weibo' found 3873 times in 3873 documents
Matches:
1. doc_id=1, weight=1, import_timestamp=2015-06-26 16:25:41
2. doc_id=4, weight=1, import_timestamp=2015-06-26 16:25:41
3. doc_id=5, weight=1, import_timestamp=2015-06-26 16:25:41
4. doc_id=6, weight=1, import_timestamp=2015-06-26 16:25:41
5. doc_id=8, weight=1, import_timestamp=2015-06-26 16:25:41
6. doc_id=9, weight=1, import_timestamp=2015-06-26 16:25:41
7. doc_id=10, weight=1, import_timestamp=2015-06-26 16:25:41
8. doc_id=11, weight=1, import_timestamp=2015-06-26 16:25:41
9. doc_id=12, weight=1, import_timestamp=2015-06-26 16:25:41
10. doc_id=13, weight=1, import_timestamp=2015-06-26 16:25:41
11. doc_id=14, weight=1, import_timestamp=2015-06-26 16:25:41
12. doc_id=15, weight=1, import_timestamp=2015-06-26 16:25:41
13. doc_id=16, weight=1, import_timestamp=2015-06-26 16:25:41
14. doc_id=17, weight=1, import_timestamp=2015-06-26 16:25:41
15. doc_id=18, weight=1, import_timestamp=2015-06-26 16:25:41
16. doc_id=19, weight=1, import_timestamp=2015-06-26 16:25:41
17. doc_id=20, weight=1, import_timestamp=2015-06-26 16:25:41
18. doc_id=21, weight=1, import_timestamp=2015-06-26 16:25:41
19. doc_id=22, weight=1, import_timestamp=2015-06-26 16:25:41
20. doc_id=23, weight=1, import_timestamp=2015-06-26 16:25:41
- sphinx在linux系统的安装
- sphinx(coreseek)在linux上的安装
- Sphinx 在 Linux 下的安装与基本配置
- Sphinx 在 Linux 下的安装与基本配置
- Sphinx学习之sphinx的安装篇(linux)
- Sphinx在windows下的安装
- sphinx在windows下的安装
- Linux 系统下sphinx的安装及php扩展的配置流程
- php linux sphinx 安装
- linux安装sphinx
- linux 下安装sphinx
- linux下安装sphinx
- linux 安装 Sphinx 2.2
- linux下安装sphinx
- sphinx中文分词coreseek在linux下的安装、配置以及使用方法(入门菜鸟级)
- coreseek&sphinx在linux下安装,配置,使用
- sphinx+scws 全文检索使用之在没安装MySQL的服务器上安装Sphinx
- sphinx的Coreseek安装
- ROMFS文件系统
- LYZ Timer 计时软件(推荐)
- 获取mysql cpu占比
- Qt信号与槽实现原理
- Check whether two strings are anagram of each other
- sphinx在linux系统的安装
- Eclipse中SVN的安装步骤(两种)和使用方法
- linux safe-rm
- IOS 编程 代码规范
- ccf集合竞价
- chmod
- cassandra官方帮助文档
- halcon学习 tuple之算术运算2
- virualbox 复制linux,启用网卡报错:device "eth0" does not seem to be present, delaying initialization