2012-07-31 95 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查詢。一旦你看到查詢,問題就會變得明顯。