coreseek&sphinx在linux下安装,配置,使用

2 篇文章 0 订阅
2 篇文章 0 订阅
1.首先安装服务器预装环境
yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel


2.http://www.coreseek.cn/products-install/install_on_bsd_linux/   官网有安装步骤 按照步骤安装即可


3.安装成功后,复制/root/coreseek-4.1-beta/testpack/etc/csft_mysql.conf至 /usr/local/coreseek/etc/文件夹下,
打开此文件,按照里面的配置项填写,
可能遇到的系统报错问题:
sql_attr_uint  = article_id ##从SQL读取到的值必须为整数,会记录在返回的数组中attrs中,可填可不填,不填系统会报警告。
sql_attr_timestamp  = datecreatedline #从SQL读取到的值必须为整数,作为时间属性 ,可填可不填
compat_sphinxql_magics=0  #本项原本文件中没有,但是由于在配置文件中设置的时候为1,所以如果不在此处改为0则系统会报错。


4.都配置完成后,按照以下步骤执行测试(xxxxxx为测试文件名,替换成自己的即可)


建立索引 /usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/xxxxxx.conf --all 


启动服务 /usr/local/coreseek/bin/searchd -c /usr/local/coreseek/etc/xxxxxx.conf
此处可能会碰到pid报错问题,这是由于进程已被占用,通过 ps aux|grep searchd 指令查询进程,kill掉,再启动即可。因为只能出现一个进程,大多数是因为上一个进程没有关闭,例如刚刚安装完时测试过csft.conf,导致进程被它占用了,然后你新创建的则不能使用


##如要已启动服务,要更新索引,请使用/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/xxxxxx.conf --all --rotate


搜索测试:  /usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/xxxxxx.conf 我想搜索啦啦啦




//php接口
require ( "sphinxapi.php" );


$cl = new SphinxClient ();
$cl->SetServer ( '127.0.0.1', 9312);
$cl->SetConnectTimeout ( 3 );
$cl->SetArrayResult ( true );
$cl->SetMatchMode ( SPH_MATCH_ANY);
//SPH_SORT_RELEVANCE按权值排序

$pagesize=30;
$p = $_GET['p']?$_GET['p']:1;
$start= ($p-1)*$pagesize;
$cl->SetLimits($start,$pagesize,1000);//匹配结果的偏移量,参数的意义依次为:起始位置,返回结果条数,最大匹配条数




$res = $cl->Query ( '$search_text', "*" );
$res['matches']; //存储的是查询到的id
$res['total_found'];//存储的是查询到的真实的总数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值