有人可以向我解釋acts_as_xapian_jobs表的內部工作嗎?acts_as_xapian工作表
我跑進與acts_as_xapian
插件的問題,最近,我在那裏一直得到以下錯誤,當它創建與Xapian的索引字段的對象:
Mysql::Error: Duplicate entry 'String-2147483647' for key 2:
INSERT INTO `acts_as_xapian_jobs` (`action`, `model`, `model_id`)
VALUES ('update', 'String', 23730251831560)
原來,model_id
超過最大int值2147483647.解決方法是更新model_id
以使用bigint。爲什麼model_id
會如此巨大?通過查看acts_as_xapian_jobs
的內容,似乎它會爲正在編制索引的每個字段創建一行。 瞭解如何在表中創建作業會有很大幫助。
這裏的表的抽樣:
mysql> select * from acts_as_xapian_jobs limit 5\G
*************************** 1. row ***************************
id: 19
model: String
model_id: 23804037900560
action: update
*************************** 2. row ***************************
id: 49
model: String
model_id: 23804037191200
action: update
*************************** 3. row ***************************
id: 79
model: String
model_id: 23804037932180
action: update
*************************** 4. row ***************************
id: 109
model: String
model_id: 23804037101700
action: update
*************************** 5. row ***************************
id: 139
model: String
model_id: 23804037722160
action: update
由於提前,
阿米
感謝@Feross的回覆。這是前一段時間,如果我沒有記錯,我使用的是acts_as_xapian的分叉版本,並且在切換到原始版本後它工作正常。從那以後它一直在努力! – Grnbeagle 2010-03-12 15:44:06