解析coreseek for sphinx的使用
解析coreseek for sphinx的使用
发布时间:2016-12-29 来源:查字典编辑
摘要:1.将下载下来的文件包解压,重新命名为sphinx或者其他。然后放到一个比较合适的位置,一般放到d盘根目录下面。2.找到D:sphinxet...

1.将下载下来的文件包解压,重新命名为sphinx或者其他。然后放到一个比较合适的位置,一般放到d盘根目录下面。

2.找到D:sphinxetc里面的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的目录。然后输入:

binindexer -c etccsft_mysql.conf

回车,这个是生成新的索引。

5.再输入:

binindexer -c etccsft_mysql.conf --all

回车,如果这里数据大的话会等待些时间。一般10000条20秒吧。反正没有官方说的快。再输入:

binsearchd -c etccsft_mysql.conf --console 回车启动searchd服务。这个时候可以在任务管理器的进程中找到这个searchd服务。这样就具备了查询的基本条件了。

6.输入:

binsearchd -c etccsft_mysql.conf -a document

回车,意思是搜索包含document的所有匹配项。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类