coreseek for sphinx的使用

162 篇文章 0 订阅
114 篇文章 0 订阅

关注微信公众号:wwwcoder,现在已将博客搬到这里,内容精选过后才发布出来。谢谢大家支持


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的所有匹配项。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值