解析coreseek for sphinx的使用

yipeiwu_com6年前PHP代码库

1.将下载下来的文件包解压,重新命名为sphinx或者其他。然后放到一个比较合适的位置,一般放到d盘根目录下面。
2.找到D:\sphinx\etc里面的csft_mysql.conf这个文件,打开它,推荐用ue或者editplus。因为记事本打开会没有样式。这是因为在linux下面的文件的缘故。
3.做必要的修改。因为这个修改因表不同和你想要取的内容不同,这里就没有标准的,只能给个实例我的修改是这样的:

复制代码 代码如下:

#源定义
source main
{
 type     = mysql
 sql_host    = 192.168.1.250
 sql_user    = root
 sql_pass    = 123456
 sql_db     = db_youxue
 sql_port    = 3306

 sql_query_pre   = SET NAMES utf8
 sql_query_pre                   = set SESSION query_cache_type = OFF #我加的
 sql_query_pre                   = replace into sph_counter select 1,max(Fid) from t_store   #我加的

 sql_query   = SELECT Fid, Ftitle, Fcontent, Fprovince,Fexamtitle, UNIX_TIMESTAMP(Fcreatetime) AS Fcreatetime FROM t_store where Fid<=(select Fmaxid from sph_counter where Fid = 1)
           #sql_query第一列id需为整数
           #title、content作为字符串/文本字段,被全文索引
 sql_attr_uint   = Fid   #从SQL读取到的值必须为整数
 sql_attr_timestamp  = Fcreatetime      #从SQL读取到的值必须为整数,作为时间属性
 sql_query_info   = SELECT * FROM t_store WHERE Fid=$id  #命令行查询时,从数据库读取原始数据信息
}
#index定义
index main
{
 source   = main             #对应的source名称
 path   = var/data/mysql
 docinfo   = extern
 mlock   = 0
 morphology  = none
 min_word_len  = 1
 html_strip    = 0
 #charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
 charset_dictpath = etc/      #Windows环境下设置,/符号结尾
 charset_type  = zh_cn.utf-8
}
#全局index定义
indexer
{
 mem_limit   = 128M
}
#searchd服务定义
searchd
{
    listen                  =   9312
 read_timeout  = 5
 max_children  = 30
 max_matches   = 1000
 seamless_rotate  = 0
 preopen_indexes  = 0
 unlink_old   = 1
 pid_file = var/log/searchd_mysql.pid
 log = var/log/searchd_mysql.log
 query_log = var/log/query_mysql.log
}
source deltaMain: main
{
 sql_query_pre = set names utf8
 sql_query = SELECT Fid, Ftitle, Fcontent, Fprovince,Fexamtitle, UNIX_TIMESTAMP(Fcreatetime) AS Fcreatetime FROM t_store where Fid>(select Fmaxid from sph_counter where Fid=1)
}
index deltaMain: main
{
 source = deltaMain
 path   = var/data/delta
}

这样配置就可以了。
4.在命令行里面找到sphinx的目录。然后输入:
bin\indexer -c etc\csft_mysql.conf
回车,这个是生成新的索引。

5.再输入:
bin\indexer -c etc\csft_mysql.conf --all
回车,如果这里数据大的话会等待些时间。一般10000条20秒吧。反正没有官方说的快。再输入:
bin\searchd -c etc\csft_mysql.conf --console 回车启动searchd服务。这个时候可以在任务管理器的进程中找到这个searchd服务。这样就具备了查询的基本条件了。

6.输入:
bin\searchd -c etc\csft_mysql.conf -a document
回车,意思是搜索包含document的所有匹配项。

相关文章

解析php做推送服务端实现ios消息推送

准备工作1.获取手机注册应用的deviceToken(iphone手机注册应用时返回唯一值deviceToken)2.获取ck.pem文件(做手机端的给)3.获取pass phrase(...

php制作基于xml的RSS订阅源功能示例

php制作基于xml的RSS订阅源功能示例

本文实例讲述了php制作基于xml的RSS订阅源功能。分享给大家供大家参考,具体如下: 首先制作一个 RSS 模板,模板的文件名是 feed.xml,代码如下: <?x...

PHP读取txt文件的内容并赋值给数组的代码

2010-12-15.txt的文件内容如下: 复制代码 代码如下: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20...

10个实用的PHP正则表达式汇总

本文实例讲述了10个实用的PHP正则表达式汇总,分享给大家供大家参考。具体如下: 正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符、词或算式等。但在某...

Thinkphp结合ajaxFileUpload实现异步图片传输示例

前言 在做这个项目之前,对图片上传处理一直都是直接用表单提交的方式进行文件传输,这次因为需求,需要实现对图片进行异步传输,虽然实现并不难,毕竟现在插件太多了,但还是浪费了我很长的调试时间...