解析coreseek for sphinx的使用_PHP教程
程序员文章站
2022-05-16 17:56:17
...
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 #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
回车,这个是生成新的索引。
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 #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的所有匹配项。
上一篇: php的正则处理函数总结分析_PHP教程
下一篇: 码农之路:我早该做好的5件事
推荐阅读
-
PHP文件生成的图片无法使用CDN缓存的解决方法,_PHP教程
-
Thinkphp的volist标签嵌套循环使用教程_PHP
-
PHP中SESSION使用中的一点经验总结_PHP教程
-
Smarty使用自定义资源的方法,smarty自定义资源_PHP教程
-
PHP可变函数的使用详解_PHP教程
-
Yii使用migrate命令执行sql语句的方法,yiimigrate_PHP教程
-
php同时使用session和cookie来保存用户登录信息的实现代码,sessioncookie_PHP教程
-
解析php框架codeigniter中如何使用框架的session_PHP教程
-
PHP笔记之:日期函数的使用介绍_PHP教程
-
php使用array_search函数实现数组查找的方法,array_search数组_PHP教程