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