6

優れた Tire gem を使用してドキュメントのインデックス作成と検索を行う ElasticSearch サーバーを実行しています。検索インデックスからドキュメントを手動で削除する方法がわからないことを除いて、すべてがうまく機能します。

私は RDoc に注ぎ込み、何時間も検索しましたが、これがhttps://github.com/karmi/tire/issues/309を見つけることができる唯一の解決策のヒントです。curl のカスタム ラッパーを作成して手動でリクエストする以外に簡単な方法はありますか?

もう 1 つの問題は、ActsAsParanoid と呼ばれるソフト削除の gem を使用しているため、Tire::Model::Callbacks がソフト削除でオブジェクトを削除しないことです。

何か案は?

4

2 に答える 2

10

ID しか持っていない場合 (例: 12345):

User.tire.index.remove 'user', '12345'

またはより一般的に:

klass.tire.index.remove klass.document_type, record_id

remove @user(これは、舞台裏で行うことと同等だと思います)

参照

于 2013-09-05T11:37:28.410 に答える
6

次のように、ソフト削除されたオブジェクトをインデックスから手動で削除できることがわかりました。

@user = User.find(id) #or whatever your indexed object is
User.tire.index.remove @user #this will remove them from the index

それでおしまい!

于 2012-10-09T14:55:34.140 に答える