windows下的coreseek安装及PHP调用入门
转载:http://zhan.renren.com/longmensoft?gid=3602888498043096197&checked=true
把我的运行环境简单说一下:windows XP,装了php/mysql
下面进入正题:
1.到官网下载coreseek
2 安装执行环境,一般系统都会有安装,官网有说明
3.将下载的coreseek压缩包解压到你觉得合适的位置,把主文件夹的名字改为你觉得合适的名字。
4.MYSQL测试:
在MYSQL的test数据库中,导入coreseek文件夹下的sql文件: var\test\documents.sql
这样就生成了测试用的数据表 test.documents
下面这一步很关键,我就在这一步上被卡了好长时间:
打开etc下的csft_mysql.conf,填入登陆mysql需要的基本信息。
maybe 新手对配置搞不懂,请参看http://www.borghan.com/archives/using-coreseek-with-PHP-with-multiple-indexes.html
5.建立索引
通过修改csft_mysql.conf的配置或者创建新的conf文件,就可以指定要建立索引的数据表以及建立索引的方式。如何配置请参看官方手册,或者这篇文章:
http://www.linuxidc.com/Linux/2013-05/83857.htm
这里只是对coreseek默认的测试数据表 test.documents,以其默认的方式建立索引。
建立索引需要进入cmd,用dos模式工作:
在dos下进入coreseek的主文件夹下,执行如下命令:
bin\indexer -c etc\csft_mysql.conf --all
数据表 test.document的索引就建立好了
6.查询
还是在dos模式下,键入
bin\search -c etc\csft_mysql.conf xxxx
xxxx就是你要查询的内容,dos下最好只查询英文内容,因为dos下由于编码原因,不一定能查询出来。
dos下的查询主要是起到测试的作用,真正的查询应该还是要通过调用API
7.启动搜索服务
还是在dos模式下,键入
bin\searchd -c etc\csft_mysql.conf
这样coreseek就进入监听查询命令的状态
注意,进入监听后这个dos窗口不能关闭,不然监听就结束了。
8.php调用coreseek
大概分三个步骤:
(1)调入coreseek目录下的api//sphinxapi.php
(2)对查询命令SphinxClient()进行配置,配置的详细说明见官方手册或参看下文:
http://www.linuxidc.com/Linux/2013-05/83858.htm
(3)查询
程序如下:
<?
//第一步:
require_once "E:/coreseek/api/sphinxapi.php";// 我的coreseek安装在E:/coreseek目录下,你需要根据你的coreseek的位置进行调整
//第二步:
$sphinx = new SphinxClient();
$sphinx->SetServer ( 'localhost', 9312 );//coreseek的主机名和端口
$sphinx->SetArrayResult ( true );//设置返回结果集为php数组格式
$sphinx->SetLimits(0, 20, 1000);//匹配结果的偏移量,参数的意义依次为:起始位置,返回结果条数,最大匹配条数
$sphinx->SetMaxQueryTime(10);//最大搜索时间
//第三步:
$result = $sphinx->query ('xxxx', "mysql");//xxxx是查询的内容,mysql是测试的配置文件中系统默认的类名
//结果:
print_r($sphinx);//显示所有SphinxClient()类的内容,如果发生查询错误,也可以在这里找到。
print_r($result);//显示查询结果信息,
/*total是匹配到的数据总数量
matches是匹配的数据,包含id,attrs这些信息
words是搜索关键字的分词
并不会返回像mysql那样的数据数组
*/
?>
看完之后可参看http://www.borghan.com/archives/using-coreseek-with-PHP-with-multiple-indexes.html Coreseek多表索引搜索
windows下的coreseek安装及PHP调用入门的更多相关文章
- oracle学习笔记1:windows下oracle数据库安装及.net调用oracle数据库
1.下载32位或64位oracle数据库并且安装,安装时可以选择安装数据库实例或者不安装,如果不安装的话之后可以用Database Configuration Assistant(DBCA) 通过向导 ...
- windows下nginx的安装及使用方法入门
nginx功能之一可以启动一个本地服务器,通过配置server_name和root目录等来访问目标文件 一. 下载 http://nginx.org/ 下载后解压 二. 修改配置文件 ngin ...
- Windows下MetaMap工具安装
Windows下MetaMap工具安装 一.Main MetaMap安装 Prerequisties 12G磁盘空间 JAVA6 or newer JRE or SDK installed Downl ...
- sphinx在windows下的简单安装与使用
1.下载地址 http://sphinxsearch.com/downloads/release/,我这里下的是“Win64 binaries w/MySQL+PgSQL+libstemmer+id6 ...
- windows下的tfjs-node安装异常总结
大约有半年没有写博客了,奔波于上海这座魔都之中.险些忘了自己是个有梦想的全栈工程师 书接上回,由于个人非常厌恶python的语法,半年前发现了tensorflow.js这个宝贝(下简称tfjs),喜出 ...
- Windows下的Memcache安装 linux下的Memcache安装
linux下的Memcache安装: 1. 下载 memcache的linux版本,注意 memcached 用 libevent 来作事件驱动,所以要先安装有 libevent. 官方网址:http ...
- Windows下的Memcache安装
Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 'c:\memca ...
- Windows下 VM12虚拟机安装OS X 10.11 和VM TOOLS
Windows下虚拟机安装Mac OS X —– VMware Workstation12安装Mac OS X 10.11 本文即将介绍WIN虚拟MAC的教程.完整详细教程(包含安装中的一些问题) [ ...
- Windows下Memcache的安装与在php中使用
memcache dll插件和测试例子下载地址: http://pecl.php.net/package/memcache Windows下Memcache的安装方法 Memcached官方:http ...
随机推荐
- Vue2.5入门-3
安装和使用 全局安装vue npm install --global vue-cli 创建基于webpack模板的新项目 vue init webpack my-project 安装依赖 cd my- ...
- 用GO把你想说的话写到比特币链上
比特币除了币转账还有不少好玩的地方,比如把你想说的话写上去,可以当做留念.记录.或者装逼.今天用GO语言写了一个比特币交易构建.交易签名的程序. 生成的交易信息可以在比特币控制台用sendrawtra ...
- 重学Verilog(1)
1.线与.线或功能 wor module WO(A, B, C, D, WireOR) input A,B,C,D; output WireOr; wor WireOr; assign WireOr ...
- QPushButton槽函数触发两次的问题
以前经常使用qt creator界面管理直接跳转到槽函数没发现这个问题,今天手动写了个槽函数发现按键会触发两次.根据网上的说法是按键会自动连接一个槽函数,如果我们手动添加的槽函数命名规则符合槽函数的命 ...
- 20155235 2006-2007-2 《Java程序设计》第1周学习总结
20155235 2006-2007-2 <Java程序设计>第1周学习总结 教材学习内容总结 第二章 使用的JRE不同,对JAVA的执行有什么影响 第三章 字符串的用法在JAVA和C中有 ...
- 一篇文章帮你梳理清楚API设计时需要考虑的几个关键点
本文作者是Enchant的架构师,他最近研究了Netflix.SoundCloud.谷歌.亚马逊.Spotify等公司的微服务实践,并根据自己的理解总结出了一套适用于现代Web和云技术的微服务实战经验 ...
- 【LG4103】[HEOI2014]大工程
[LG4103][HEOI2014]大工程 题面 洛谷 题解 先建虚树,下面所有讨论均是在虚树上的. 对于第一问:直接统计所有树边对答案的贡献即可. 对于第\(2,3\)问:记\(f[x]\)表示在\ ...
- [CF888E] Maximum Subsequence 序列分治
早期作品,不喜轻喷. LG传送门 序列分治板子题. 切这道题用了好长时间,所以想发篇题解作为纪念 . 首先,我们认真观察题目数据(面向数据做题是个好习惯),发现题目的\(n\)竟然只有\(35\),我 ...
- vmware因为软件出过一次复制的错误导致不能复制到主机的解决方法
只需要把vmware的虚拟机进程全部结束掉,然后重置(先设置不勾选复制等,然后保存后在勾选上并保存)一次虚拟机隔离设置(需要在关闭虚拟机的情况下设置,否则就是灰色不允许操作),然后再开启虚拟机,就能正 ...
- C#随堂
顺序语句 上到下执行 分支语句 if else switch() { case 1: Console.WriteLine(1); break; case 2: Console.WriteLine ...