在MySQL数据库的配置中,sql_query
似乎发生了奇怪的事情。 sphinx.conf中sql_query的相关部分如下:
sql_query = ... GROUP_CONCAT(DISTINCT IFNULL(`vendor_items`.`description`, '0')
SEPARATOR ' ')
AS `vendor_item_descriptions`,...
问题在于,在某些情况下,只有部分此description
字段被编入索引。似乎索引到达某一点,然后不再对字段内容编制索引。我通过从一个特定项目的字段中搜索一堆单词来解决这个问题。似乎该项目的描述内容的前1/3被索引。我认为它可能是字符编码问题所以我剥离了任何不可打印的UTF-8字符的描述字段&重建索引。但没有运气。
是否有其他人遇到过此类问题或知道问题可能是什么?
答案 0 :(得分:2)
我建议你看一下group_concat_max_len
MySQL变量。
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_group_concat_max_len
在sphinx术语中,可以使用sql_query_pre
来更新会话的值