我有一个表来做搜索配置文件是这样的。#MySQL数据源配置,详情请查看:http://www.coreseek.cn/products-install/mysql/
#请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库#源定义
source main
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass =
sql_db = xiao8xiao_test
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query_pre = REPLACE INTO sph_counter SELECT 1,MAX(id) FROM s_blog
sql_query = SELECT id,post_class_id AS pid,post_title,content,post_dt FROM s_blog WHERE id<=(SELECT max_doc_id FROM sph_counter WHERE counter_id = 1)
sql_attr_uint = pid
sql_attr_timestamp = post_dt
sql_query_info = SELECT * FROM s_blog WHERE id=$id
}
source delta : main
{
sql_query_pre = SET NAMES utf8
sql_query = SELECT id,post_class_id AS pid,post_title,content,post_dt FROM s_blog WHERE id>(SELECT max_doc_id FROM sph_counter WHERE counter_id = 1)
}
#index定义
index main
{
source = main #对应的source名称
path = D:\xampp\mysql/ #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
html_strip = 0 #中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/
#charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
charset_dictpath = C:\usr/local\coreseek\etc\ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
charset_type = zh_cn.utf-8
}
index delta : main
{
source = delta
path = D:\xampp\mysql/
}
#全局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 = C:\usr\local\coreseek\var\log\searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
log = C:\usr\local\coreseek\var\log\searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
query_log = C:\usr\local\coreseek\var\log\query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
}分一个主索引main和增量索引delta
当我只建立主索引的情况下
indexer -c c:\pathTo\csft.conf --index main
,查询正常。。
可当我建立主索引的增量索引了后,
indexer -c c:\pathTo\csft.conf --all什么也查不出来了。不是文件编码和数据库编码的问题
请指教!
#请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库#源定义
source main
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass =
sql_db = xiao8xiao_test
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query_pre = REPLACE INTO sph_counter SELECT 1,MAX(id) FROM s_blog
sql_query = SELECT id,post_class_id AS pid,post_title,content,post_dt FROM s_blog WHERE id<=(SELECT max_doc_id FROM sph_counter WHERE counter_id = 1)
sql_attr_uint = pid
sql_attr_timestamp = post_dt
sql_query_info = SELECT * FROM s_blog WHERE id=$id
}
source delta : main
{
sql_query_pre = SET NAMES utf8
sql_query = SELECT id,post_class_id AS pid,post_title,content,post_dt FROM s_blog WHERE id>(SELECT max_doc_id FROM sph_counter WHERE counter_id = 1)
}
#index定义
index main
{
source = main #对应的source名称
path = D:\xampp\mysql/ #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
html_strip = 0 #中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/
#charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
charset_dictpath = C:\usr/local\coreseek\etc\ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
charset_type = zh_cn.utf-8
}
index delta : main
{
source = delta
path = D:\xampp\mysql/
}
#全局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 = C:\usr\local\coreseek\var\log\searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
log = C:\usr\local\coreseek\var\log\searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
query_log = C:\usr\local\coreseek\var\log\query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
}分一个主索引main和增量索引delta
当我只建立主索引的情况下
indexer -c c:\pathTo\csft.conf --index main
,查询正常。。
可当我建立主索引的增量索引了后,
indexer -c c:\pathTo\csft.conf --all什么也查不出来了。不是文件编码和数据库编码的问题
请指教!
孩子你这病要治啊sphinx创建的数据索引的path就是索引数据的名称,你主索引和增量索引都叫想通的名称,有数据才怪。
引用自sphinx手册path