mauriciozaffariによる mongoid_search gem をチェックしてください。より完全な検索オプションが提供されるはずです。リレーションを検索できる必要があります。また、空白で行われる検索を分割することも理解しているので、より完全な検索ができるようになります ここで確認してください
それが役に立てば幸い。
編集:
私は実際にこれを自分で使用したことはありませんが、私が知る限り、次の手順を実行する必要があります:>/p?
1) gemfile に gem をインストールします
gem 'mongoid_search'
(mongoid 2.xx を使用している場合を除きます。この場合、gem は 0.2.8 でロックされます)。
2) addで検索したいモデルから
class Product
include Mongoid::Document
include Mongoid::Search
field :brand
field :name
has_many :tags
belongs_to :category
search_in :brand, :name, :tags => :name, :category => :name
end
class Tag
include Mongoid::Document
field :name
belongs_to :product
end
class Category
include Mongoid::Document
field :name
has_many :products
end
つまり、私が知る限り、本質的にあなたがここで言っていることは次のとおりです。Product
フィールドbrand
とを持つモデルがありますname
。 Product
にはTags
多くの製品を含めることができ、多くの製品を に関連付けることができますCategory
。次に、製品モデルにインポートMongoid::Search
し、検索するフィールドを定義します。Product fields -> brand and name
リンクからフィールドをhas many
検索し、フィールドとモデルを検索すると思います! .name
Tags
name
Category
次に、ここから次のように呼び出すことができます。
Product.full_text_search("value")
上記のリンクにある README.md から調べる必要がある全文検索のオプションもいくつかありname
ます。brand
最も関連性の高いものは relevant_search
、モデルの関連付けを検索できると思います
繰り返しますが、私はまだこの宝石を使用していませんが、これは私が README.md から集めたものです