Ruby on Rails の全文検索で sunspot_rails gem を使用し、
ブール値フィールド ('show_facet') をモデル Product に追加し、solr index
に次のことを行います。
- 'show_facet' == true の場合、検索リストとファセット リストに製品を表示します
- if 'show_facet' == false then show Product only in search list
すべてのドキュメント、フォーラム、API を読みましたが、この質問に対する答えが見つかりません
。太陽黒点でこれを行うことはできますか?
型式コード
検索可能
文字列:キーワード、複数:true
文字列:ステータス
ブール値:表示
ブール値:show_facet
時間:updated_at
テキスト:keyword_long、格納: true
テキスト:jtitle、保存: true
整数:id
整数 :company_id
終わり
コントローラ
デフショー
@product_search = OpenStruct.new(params[:product_search])
@search = search_plain
終わり
プライベート
def search_plain
basic_search do |検索|
search.fulltext(@product_search.fulltext) する
フィールド *(%w[jtitle keyword_long])
ハイライト :keyword_long
ハイライト:jtitle
終わり
終わり
終わり
def basic_search
Product.solr_search do |検索|
利回り検索
search.with(:show, true)
search.order_by(:ランダム)
search.paginate ページ: params[:page]、per_page: 10
search.with(:keywords).all_of(@product_search.keywords)
search.facet :キーワード
終わり
終わり
show_facet = true の製品のファセットのみを facet(:keywords) に含める必要がありますが、検索ですべての製品を表示します (show_facet true または false を使用)。