有人可以向我解释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