簡體   English   中英

在黑子軌道中進行多模型搜索

[英]Multi model search in sunspot rails

我的模特是

class Product < ActiveRecord::Base

has_many :category_products
has_many :categories , through: :category_products
has_many :product_tags
has_many :tags, through: :product_tags

我想搜索所有三個模型Category,Tags,Products。它工作正常,但我遇到的問題是,當我搜索Category和Tag時,我想到達那里相關產品。但是,當僅搜索product列及其關聯表時,如何區分。

我的代碼是

@search = Sunspot.search[Product,Category,Tag] do
    fulltext params[:search]
    paginate(:page => params[:page] || 1, :per_page => 3)
  end
  @products = @search.results

最后,我想獲得產品。

將“ 類別 ”和“ 標簽 ”添加到您的產品搜索信息中,如下所示:

class Product < ActiveRecord::Base
  searchable do
    text :name
    text :categories do
      categories.map { |category| category.name }
    end
    text :tags do
      tags.map { |tag| tag.name }
    end
  end
end

@search = Sunspot.search(Product) do
  fulltext params[:search]
  paginate(:page => params[:page] || 1, :per_page => 3)
end
@products = @search.results

鏈接: https//github.com/sunspot/sunspot

希望有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM