coreseek(中文全文搜索)安装和使用(二)


研究了下新的coreseek,发现增加了 sql_field_string字符类型,用于存储全文索引类字段源内容,这样在搜索之后,提取结果集时,不再需要查询一次数据库。配置方式如下:

在原配置中增加:

sql_field_string           = content

其余配置和coreseek(中文全文搜索)安装和使用(一)差不多,这里就不说了,不知道的再去看下。

下面讲下如何将coreseek和php程序结合使用:

0)先要把coreseed启动,不然怎么测试呢,方法前面讲过了!

1)将coreseek/api下的sphinxapi.php文件复制到你的php项目中,这里我在ci框架测试:

       控制器(welcome.php):

public function index()
{
$this->load->view('sphinx');
}
public function make()
{
$this->load->helper('sphinxapi_helper');
$key=$this->input->post('keyword');
$sphinx = new SphinxClient();//sphinx的主机名和端口
$sphinx->SetServer ( 'localhost', 9312 );//设置返回结果集为php数组格式
$sphinx->SetArrayResult ( true );//匹配结果的偏移量,参数的意义依次为:起始位置,返回结果条数,最大匹配条数
$sphinx->SetLimits(0, 20, 1000);//最大搜索时间
$sphinx->SetMaxQueryTime(10);
$result = $sphinx->query($key,"email");
if(isset($result['matches'])&&$result['matches']!="")
{
$data['result'] =($result['matches']);
$this->load->view('view',$data);

}
else{echo '没有搜索到你需要的内容';  }
}

视图:(view.php)

<?php 
foreach($result as $v){
echo $v['attrs']['content'];
}
?>

模型(sphinx_model.php):

function __construct()
{
parent::__construct();
$this->load->database();
}

function result($where)
{
$this->db->where($where);
$query = $this->db->get('email');
return $query->result_array();
}

大公告成,没有出错就可以看到你插入数据库里字段content的内容了:

输入查询内容:

查询结果:


以上只是一个简单的demo,大家可以按自己的需求改动即可!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值