sphinx php 代码,sphinx续3-php程序的简单调用

Php调用sphinx有2种方法:

1,调用api

2,安装sphinx扩展,添加sphinx.so模块

一般情况下,大多数都是选择第2种方法,安装扩展添加模块。

下面就直接介绍下Php的简单调用:

建立索引:

/usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/sphinx.conf index1

不停服务下索引:

/usr/local/coreseek/bin/indexer --config /usr/local/coreseek/etc/sphinx.conf --all --rotate

启动索引服务,使PHP的客户端可用

/usr/local/coreseek/bin/searchd --config /usr/local/coreseek/etc/sphinx.conf

建立PHP测试文件

#先new一下

setServer("localhost", 9312);

#设置sphinx的主机名和端口

$sphinx->setMatchMode(SPH_MATCH_ANY);

#设置匹配模式,SPH_MATCH_ANY匹配查询中的任意一个;其他的有:SPH_MATCH_ALL,SPH_MATCH_PHRASE;SPH_MATCH_BOOLEAN,SPH_MATCH_EXTENDED

$sphinx->setMaxQueryTime(3);

#设置最大搜索时间为3秒

$result = $sphinx->query("test",$index1);

#在名为“index1”的全文索引中,搜索关键字为“test”的文档;注,sphinx里一条记录称为“文档”

print_r ($result);

#显示结果

?>

运行返回的数组,不是真正的想要的结果。因为sphinx全文索引里面的信息记录的不是完整的数据,只记录被分词后的数据,所以还要根据matches中的ID去mysql的表中取数据。

Sphinx的精髓是把全文搜索中的单词(包括中文),快速地过滤成其所在的ID,然后再用ID去mysql中准确定位数据。

如果直接用mysql在海量的文章中全文搜索一两个单词(包括中文),是件很麻烦的事,让sphinx来做这件事就会变得so easy!

明天接着介绍sphinx的工作原理,到底sphinx记录的是什么数据,一步步地来揭开sphinx神秘的面纱!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值