window环境下,php+sphinx+coreseek实现简单的中文全文搜索
就以我个人理解来说,sphinx其实是介于客户端和mysql之间的一个索引表,把数据库的没一条记录假设为文档,那么这个索引表其实保存的就是这条记录的关键词及其对应的文档id
1.sphinx的安装


下载地址http://pecl.php.net/package/sphinx,找到对应的版本下载好即可
下载完之后,把文件解压后把php_sphinx.dll和php_sphinx.pdb文件复制到本地环境的ext文件夹下,在php.ini文件加上extension=php_sphinx.dll,重启Apache

输出phpInfo(),能看到sphinx的扩展库
2.coreseek
为什么要安装sphinx呢?其实因为coreseek就是sphinx+mmseg(中文分词技术),使用coreseek其实就是在调用sphinx
下载地址http://www.coreseek.cn/news/14/54/
选择需要的版本下载即可
解压文件后,把文件夹内的文件复制到D盘下的coreseek文件夹(不需要特定路径,只要能找到就好)

在ect目录下找到csft_mysql.conf文件,将其复制到bin目录下,并重命名为scft.conf(coreseek默认读取名为scft.conf的配置文件,不过配置文件能修改)
打开scft.conf配置文件,修改配置
本文以test2数据库中的test表为例,其字段信息分别是id,title,content

先看源定义,sql_host,sql_user,sql_pass等这些简单的配置就不说了,sql_query是你定义全文索引时需要被索引的字段,sql_query_info定义需要从哪个数据表读取源数据信息

再来看看主索引文件,path是保存索引的位置,charset_dictpath是你读取分词文件的位置

其余的indexer(生成索引),searchd(开启服务)等配置,只要改一下相应的文件路径即可,比如log等参数
3.开启服务

打开cmd窗口,进入到coreseek的bin目录下,运行indexer --all命令,生成索引

之后开启输入searchd.exe命令开启服务
3.结合php使用进行全文搜索
这是插入的测试数据

php的测试代码

测试结果
coreseek的配置除了多了个中文分词的配置之外,其余和sphinx的配置一样,所以这里就不再说明sphinx的配置了,至于关于sphinx更多的高级用法,可以去查看php文档的sphinx模块
window环境下,php+sphinx+coreseek实现简单的中文全文搜索的更多相关文章
- linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg)
linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg) 2013-11-10 16:51:14 分类: 系统运维 为什么要写这篇文章? 答:通过常规的三大步(./confi ...
- window环境下将solr6.3部署到tomcat中
1.我下载的solr是6.3版本的,需要jdk1.8及以上,tomcat8 JDK1.8的下载地址:http://www.Oracle.com/technetwork/Java/javase/down ...
- window环境下glog的安装
window环境下glog的安装 分类: c++2014-09-23 14:12 32人阅读 评论(0) 收藏 举报 下载后解压,利用Visual Studio打开google-glog.sln.生成 ...
- window环境下杀死tomcat
window环境下杀死进程 1.首先查找到占用8080端口的进程号PID是多少(tomcat默认是8080端口,假如你修改了tomcat的监听端口,请输入你的tomcat端口号) netstat -a ...
- window环境下npm install node-sass报错
最近准备想用vue-cli初始化一个项目,需要sass-loader编译: 发现window下npm install node-sass和sass-loader一直报错, window 命令行中提示我 ...
- JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构
一.简介 JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构 二.依赖 <!-- https://mvnrepository.com/artifact/org.fus ...
- Window环境下配置MySQL 5.6的主从复制
原文:Window环境下配置MySQL 5.6的主从复制 1.环境准备 Windows 7 64位 MySQL 5.6 主库:192.168.103.207 从库:192.168.103.208 2. ...
- 【转】mysql8.0 在window环境下的部署与配置
[转]mysql8.0 在window环境下的部署与配置 今天在阿里云window服务器上配置mysql环境,踩了一些坑,分享出来.需要的朋友可以看看.额,或许有人要吐槽我为什么不在linux上去配置 ...
- Window环境下,PHP调用Python脚本
参考 php调用python脚本*** php 调用 python脚本的方法 解决办法:php提供了许多调用其他脚本或程序的方法,比如exec/system/popen/proc_open/passt ...
随机推荐
- PLSQL导出表的数据insert语句
“Where clause”可以设置查询条件.设置好文件导出的路径(“Output file”),点击[Export]按钮,就可以导出INSERT语句了. 导出之后使用nodepad打开: 但是如果我 ...
- Socket上自定义协议总结
TCP只是一个可靠传输的通信管道,上层协议要你自己定的,通俗来说就是发送方和接收方的约定 自定义协议的核心有两个:1. 控制码2. 流程控制 用Socket进行通信,发送的数据包一定是有结构的,类似于 ...
- jquery用formada发送文件到服务器
var formdata = new FormData(); formdata.append("file", $("#Input")[0].files[0]); ...
- python学习之生成器
4.6 生成器Generrator 生成器本质就是迭代器.python社区生成器与迭代器是一种. 生成器与迭代器的唯一区别:生成器是我们自己用python代码构建的 4.6.1生成器初识 py ...
- typedef interrupt void (*PINT)(void)的分析
今天写程序时,在DSP2833x_PieVect.h看到typedef interrupt void (*PINT)(void)突然一愣,上网查了下发现在这是加了interrupt 中断关键字的函数指 ...
- ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn
硬件环境 ubuntu 16.04LTS + windows10 双系统 NVIDIA TiTan XP 显卡(12G) 软件环境 搜狗输入法 显卡驱动:LINUX X64 (AMD64/EM64T) ...
- JS ----- 底层原理
什么是JS JavaScript是一种基于对象的动态.弱类型脚本语言(简称JS),是一种解释型语言,和其他的编程语言不同,如java/C++等编译型语言,这些语言在代码执行前会进行通篇编译,先编译成字 ...
- break和continue关键字的使用
一,break和continue关键字的使用 public class BreakContinueTest { public static void main(String args[]) { for ...
- Neo4j下载与使用
Neo4j 官网 : https://neo4j.com/ Neo4j 国内: http://neo4j.com.cn/topic/5b003eae9662eee704f31cee http://we ...
- MFC,QT与WinForm,WPF简介
编程语言的组成编程语言做为一种语言自然和英语这些自然语言有类似的地方.学英语时我们知道要先记26个字母,然后单词及其发音,接下来就是词组,句子.反正简单的说就是记单词,熟悉词法,句法.接下来就是应用了 ...