5

私は自分のアプリでSolrを立ち上げることに成功しています。2 つのモデルを検索することができましたが、現在、「with」句を使用して検索を微調整しようとしています。

私のイベントモデルは次のとおりです。

class Event < ActiveRecord::Base
  searchable do
   text :headline, :info
   time :event_date
  end
end

私の会場モデルは次のとおりです。

class Venue < ActiveRecord::Base
  searchable do
   text :name, :address_1, :address_2, :town, :postcode
  end
end

そして、私は以前にイベントと会場の両方を返すことができた検索コントローラーを持っていますparams[:search]。今後のイベントと会場を返そうとしていますが、会場に「event_date」がないため、イベントのみが返されます。要するに、with(:event_date)イベントモデルのみに適用するにはどうすればよいですか?

class SearchController < ApplicationController
  def search
    @search = Sunspot.search [Event, Venue] do
      fulltext params[:search]
      with(:event_date).greater_than(Time.zone.now)
    end
    @results = @search.results
    respond_to do |format|
      format.json { render json: @results }
    end
  end  
end  
4

1 に答える 1

1

あなたができることの1つは、このフィールドを次のように他の「検索可能」に追加することです:

class Venue < ActiveRecord::Base
  searchable do
   text :name, :address_1, :address_2, :town, :postcode
   time :event_date { Time.zone.now }
  end
end

{ #here } には何でも入れることができます

それが役に立てば幸い

于 2013-10-11T21:12:35.870 に答える