由于生成了奇怪的查询,Solr无法重新索引

时间:2012-10-30 22:20:46

标签: ruby-on-rails solr sunspot

我正在编写一个使用solr进行全文搜索的rails应用程序

在开发模式中,我使用了sunpost solr gem,它非常方便。我在开发过程中使用了sqlite3数据库,一切顺利。

现在是时候转移到生产服务器了,我安装了solr-tomcat软件包并转移到我的生产数据库,即Mysql。我将solr的conf文件从我的应用程序文件夹移动到/ usr / share / solr / conf

突然间,我无法重新索引,并且solr返回了此

rake RAILS_ENV=production sunspot:solr:reindex
[#                                 ] [  50/7312] [  0.68%] [00:00] [00:41] [ 175.82/s]rake aborted!
Mysql::Error: Unknown column 'barangs.' in 'where clause': SELECT  `barangs`.* FROM `barangs`  WHERE (`barangs`.`` >= 0) ORDER BY `barangs`.`` ASC LIMIT 50

好奇,我试着用开发数据库重新索引,一切都很好,可以重新编制索引。这种行为让我感到困惑

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我遇到了问题。这是由于我肆无忌惮地丢弃和恢复表格,并且它失去了一些关系定义。

因此表'barangs'上的“缺失”列。' MISSING 'solr无法找到指定的列。

对于遇到问题的其他人,我建议先检查模型之间的关系