coreseek for sphinx的使用

關注微信公衆號: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的所有匹配項。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章