以前在linux上安装过使用过sphinx倒是没有发现问题,现在有时间想在windows下安装试试,没想到在运行生成索引时出现一个烦人的问题,信息如下:
index column number 1 has no name
如果在构建索引时有发现类似的信息,不一定是配置的问题,可以考虑一下是不是安装的版本过低。
开始使用的版本是0.9.8.1,后来换成corseek-4.0.1就行了。
将使用的csft.conf也附上:
source document
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass = root
sql_db = demo
sql_port = 3306 # optional, default is 3306
sql_query = \
SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
FROM documents
sql_attr_uint = group_id
sql_attr_timestamp = date_added
}
index document
{
source = document
path = E:/sphinx/var/data/
docinfo = extern
dict = keywords
mlock = 0
morphology = none
min_word_len = 1
html_strip = 0
}
indexer
{
mem_limit = 128M
}
searchd
{
listen = 9312
listen = 9313:mysql41 #加上了之后,可能以连mysql的方式来查看索引数据,稍后在下面会说明。
log = E:/sphinx/var/log/log.log
query_log = E:/sphinx/var/log/query_log.log
read_timeout = 5
client_timeout = 300
max_children = 30
# persistent_connections_limit = 30
pid_file = E:/sphinx/var/log/query_log.pid
#max_matches = 1000
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
mva_updates_pool = 1M
max_packet_size = 8M
max_filters = 256
max_filter_values = 4096
max_batch_queries = 32
workers = threads # for RT to work
}
因为版本不同,可能有的属性不兼容。
以mysql的方式连索引数据:
1,进到cmd下
2,以mysql -hlocalhost -P9313命令即可连上,接着便可以sql来查看数据了(这里的IP与PORT都是根据上面的配置文件来的)。