1

sql_queryMySQL 数据库的配置中似乎发生了一些奇怪的事情。sphinx.conf中sql_query的相关部分如下:

sql_query = ... GROUP_CONCAT(DISTINCT IFNULL(`vendor_items`.`description`, '0') 
SEPARATOR ' ') 
AS `vendor_item_descriptions`,...

问题是,在某些情况下,该description字段只有部分被索引。似乎索引上升到一定程度,然后不再索引字段内容。我通过从该字段中搜索一个特定项目的一堆单词来解决这个问题。似乎该项目的描述内容的前 1/3 被编入索引。我认为这可能是字符编码问题,所以我剥离了任何不可打印的 UTF-8 字符的描述字段并重新索引。但没有运气。

有没有其他人遇到过这种问题或知道问题可能是什么?

4

1 回答 1

2

我建议您查看group_concat_max_lenMySQL 变量。

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 术语中可以使用 asql_query_pre来更新会话的值

于 2013-04-12T14:49:18.307 回答