0

全文検索にsolrを利用するレールアプリケーションを書いています

開発モードでは、非常に便利な 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

興味をそそられて、開発データベースでインデックスを再作成しようとしましたが、すべて問題なく、再インデックスできます。この振る舞いは私を当惑させた

どんな助けでも大歓迎です

4

1 に答える 1

0

問題が発生しました。これは、無謀にテーブルを削除して復元したためであり、いくつかの関係定義が失われました。

したがって、テーブル「barangs」の「行方不明」の列です。MISSING ' solr は指定された列を見つけることができません。

問題に直面している他の人には、最初にモデル間の関係を調べることをお勧めします

于 2012-10-30T22:34:09.680 に答える