0

遅延インデックス作成は正常に機能していますが、記録の保存では、削除要求が websolr に送信されます...ここにログが表示されます

SOLR リクエスト (14.3ms) [ path=# parameters={data: Message 547488, headers: {"Content-Type"=>"text/xml"}, method: post, params: {:wt=>:ruby},クエリ: wt=ruby, パス: update, uri: http://index.websolr.com/solr/index/update?wt=ruby , open_timeout: , read_timeout: } ]

SOLR リクエスト (12.4ms) [ path=# parameters={data: Message 547488, headers: {"Content-Type"=>"text/xml"}, method: post, params: {:wt=>:ruby},クエリ: wt=ruby, パス: update, uri: http://index.websolr.com/solr/index/update?wt=ruby , open_timeout: , read_timeout: } ]

SOLR リクエスト (9.7ms) [ path=# parameters={data: , headers: {"Content-Type"=>"text/xml"}, method: post, params: {:wt=>:ruby}, query: wt=ruby, path: update, uri: http://index.websolr.com/solr/index/update?wt=ruby , open_timeout: , read_timeout: } ]

これらは、単一のメッセージの作成に対して行われた 3 つの要求です。

ここに私の検索ブロックがあります

searchable :if => proc { |message| !message.user_messages.blank? } do

text :message_body do
  CGI.escape(self.body || "")
end
text :subject do
  CGI.escape(self.subject || "")
end

text :sender_name do
  user.blank? ? "" : user.full_name 
end

integer :users_ids, :multiple => true do
  user_messages.map{|um| um.user_id}
end
time :created_at
end handle_asynchronously :solr_index

お早めにご覧ください、

ありがとう

4

1 に答える 1

1

DelayedJob で Sunspot の削除をキューに入れるには、次の行も追加する必要があります。

handle_asynchronously :remove_from_index
于 2012-04-04T18:27:12.963 に答える