PHP100 2019-03-27
1.将下载下来的文件包解压,重新命名为sphinx或者其他。然后放到一个比较合适的位置,一般放到d盘根目录下面。
2.找到D:\sphinx\etc里面的csft_mysql.conf这个文件,打开它,推荐用ue或者editplus。因为记事本打开会没有样式。这是因为在linux下面的文件的缘故。
3.做必要的修改。因为这个修改因表不同和你想要取的内容不同,这里就没有标准的,只能给个实例我的修改是这样的:
代码如下:
<strong>#源定义 </strong>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 }
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的所有匹配项。