2012-07-31 51 views
1

我正在使用SphinxQL将数据插入到Sphinx RT索引中,该工作正常。只是偶尔我得到了我的数据集确实较大的值,我得到以下错误:SphinxQL数据太长了列

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'title' at row 1 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3564) 

有没有一种方法来扩展字段的长度?或我可以使用的另一种列类型?否则,什么字段的长度,所以我可以截断我的数据?

这是我的指标是什么样子:

index example 
{ 
     type    = rt 
     path    = /var/sphinxsearch/example 
     rt_field   = title 
     rt_attr_timestamp = timestamp 
} 
+0

狮身人面像是2.0.5。我没有使用MySQL; SphinxQL是一个MySQL二进制兼容的服务器。 sphinx.conf中的设置是“mysql41”。它可能是一个Unicode的东西 - 我仍然不知道如何确定列的大小,但我会尝试“插入IGNORE”(从最后一个答案到你的链接问题)。你应该把你的评论作为答案。 – 2012-08-09 14:14:30

回答

1

我把我的上述评论到一个答案:

什么版本的MySQL您使用的是?什么版本的狮身人面像?也许你正面临一个类似于this one的Unicode编码问题?

也许你可以捕捉异常,记录有问题的SQL查询。一旦你看到查询,问题就会变得明显。