php使用coreseek进行中文分词搜索
方法一
使用coreseek源码自带testpack/api/test_coreseek.php代码,
进行稍微修改就可以使用了,只不过需要引入”spinxapi.php“类
方法二--制作php扩展
1.安装sphinx扩展
下载依赖 http://pecl.php.net/package/sphinx
解压并执行以下代码:
/usr/local/php7/bin/phpize
./configure --prefix=/usr/local/libsphinxclient
make && make install
2.安装sphinx扩展(这里需要根据php版本进行分别安装)
php5版本
wget http://pecl.php.net/get/sphinx-1.3.3.tgz
tar zxvf sphinx-1.3..tgz
cd sphinx-1.3.
./configure
--with-php-config=/usr/local/php/bin/php-config
--with-sphinx=/usr/local/libsphinxclient
上面有可能会报错:
php_sphinx_client_handlers.read_property = php_sphinx_client_read_property; ^
make: *** [sphinx.lo] Error
这个报错,修改 sphinx.c 第105行为:
retval = std_hnd->read_property(object, member, type TSRMLS_CC, NULL);
然后编译即可通过
php7版本
下载地址:
http://git.php.net/?p=pecl/search_engine/sphinx.git;a=snapshot;h=339e123acb0ce7beb2d9d4f9094d6f8bcf15fb54;sf=tgz ---可能下载下来为index.html文件,那就下载到本地然后rz上去。 接下来接着安装: 这里现在的版本为:sphinx-339e123.tar.gz
tar -zxf sphinx-339e123.tar.gz
cd sphinx-339e123
./configure
--prefix=/usr/local/sphinxextend
--with-php-config=/usr/local/php-fpm/bin/php-config
--with-sphinx=/usr/local/libsphinxclient/ make && make install
以上两个版本的步骤执行完成后,找到php.ini,在里面添加extension=spninx.so
然后使用php-m 或者看下phpinfo();
能看到sphinx即可。
注:执行php脚本之前要先启动sphinx服务,在shpinx安装目录的bin目录下执行./searchd 启动sphinx服务
例子:
$cl = new SphinxClient ();
$cl->SetServer ( '127.0.0.1', 9312);
$cl->SetConnectTimeout ( 3 );
$cl->SetArrayResult ( true );
$cl->SetMatchMode ( SPH_MATCH_ANY);
$res = $cl->Query ( '祖国', "*" ); $ids = '';
foreach ($res['matches'] as $key => $val) {
$ids .= $val['id'].',';
}
$ids = rtrim($ids,','); $conn = mysqli_connect("localhost","root","root","post");
mysqli_query($conn,"set names utf8");
$sql = "select * from post_article where id in($ids)";
$res = mysqli_query($conn,$sql);
$list = array();
while($row = mysqli_fetch_assoc($res)){ $list[] = $row; } mysqli_free_result($res); mysqli_close($conn); foreach($list as $v){ echo $v['title'].'<br/>'.$v['content'].'<hr>'; }
php使用coreseek进行中文分词搜索的更多相关文章
- Sphinx + Coreseek 实现中文分词搜索
Sphinx + Coreseek 实现中文分词搜索 Sphinx Coreseek 实现中文分词搜索 全文检索 1 全文检索 vs 数据库 2 中文检索 vs 汉化检索 3 自建全文搜索与使用Goo ...
- ElasticSearch 中文分词搜索环境搭建
ElasticSearch 是强大的搜索工具,并且是ELK套件的重要组成部分 好记性不如乱笔头,这次是在windows环境下搭建es中文分词搜索测试环境,步骤如下 1.安装jdk1.8,配置好环境变量 ...
- Apache Solr 初级教程(介绍、安装部署、Java接口、中文分词)
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...
- linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg)
linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg) 2013-11-10 16:51:14 分类: 系统运维 为什么要写这篇文章? 答:通过常规的三大步(./confi ...
- Centos下Sphinx中文分词编译安装测试---CoreSeek
要支持中文分词,还需要下载Coreseek,可以去官方搜索下载,这里我用的4.1 百度云下载地址: https://pan.baidu.com/s/1slNIyHf tar -zxvf co ...
- [转]Sphinx+Mysql+中文分词安装-实现中文全文搜索
From : http://blog.csdn.net/lgm252008/article/details/5373436 1.什么是SphinxSphinx 是一个在GPLv2 下发布的一个全文检索 ...
- window环境下,php+sphinx+coreseek实现简单的中文全文搜索
就以我个人理解来说,sphinx其实是介于客户端和mysql之间的一个索引表,把数据库的没一条记录假设为文档,那么这个索引表其实保存的就是这条记录的关键词及其对应的文档id 1.sphinx的安装 下 ...
- PHP+mysql数据库开发搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))
PHP+mysql数据库开发类似百度的搜索功能:中英文分词+全文检索 中文分词: a) robbe PHP中文分词扩展: http://www.boyunjian.com/v/softd/robb ...
- 关于Solr搜索标点与符号的中文分词你必须知道的(mmseg源码改造)
关于Solr搜索标点与符号的中文分词你必须知道的(mmseg源码改造) 摘要:在中文搜索中的标点.符号往往也是有语义的,比如我们要搜索“C++”或是“C#”,我们不希望搜索出来的全是“C”吧?那样对程 ...
随机推荐
- Vue 开发经验总结
Vue 开发经验总结 1.变量和方法,别写在全局,使用模块化导出.导入 对比项目 优点 缺点 适用场景 写在全局 会一直存在 使用模块化导出.导入 按需要导入 2.组件的prop值是请求接口后设置的( ...
- angular2的ElementRef在组件中获取不到
angular2的ElementRef在组件中获取不到 angular2不推荐操作dom,但是实际应用中不可避免的需要使用到dom操作,怎么操作,官方文档提供了一系列api(ElementRef,Vi ...
- caffe实现年龄及性别预测
一.相关代码及训练好的模型 eveningglow/age-and-gender-classification: Age and Gender Classification using Convolu ...
- mongodb 导入文件
linux命令:mongorestore -d db_name 文件夹目录 windows命令:mongorestore.exe -d db_name 文件夹目录
- OkGo3.0 --真实项目使用和二次封装(转)
转载:https://blog.csdn.net/jiushiwo12340/article/details/79011480 11.OkGo3.0真实项目使用和二次封装: ==== 11.OkG ...
- Struts S2-048 RCE漏洞分析
应该是S2-048目前最详细的一篇了.. 漏洞影响 Struts 2.3.x系列中的Showcase应用 使用了struts1 插件,并在使用ActionMessages时将客户端可控的参数拼接传递给 ...
- Ehcart整合百度地图
最近上班有些时间,学习了一下Ehcart的知识,自己制作了一份Ehcart整合百度地图的示例代码. GItHub地址:https://github.com/TianYanFd/tianjin-powe ...
- 反射 内省 BeanUtil 综合使用
package com.zsphp.domain; public class User { private String userId; private String userName; privat ...
- RIDE创建工程和测试套件和用例--书本介绍的入门方法,自己整理实践下
1.选择File->New Project 2.弹出的New Project对话框,在Name文本框输入一个名词,如“TestProject-0805”,右侧选中“Directory”,选中建立 ...
- 嵌入式 printf函数
来自:https://www.cnblogs.com/02xiaoma/archive/2012/06/22/2558618.html #include <stdio.h> #includ ...