Я использую gem searchkick для поиска в индексированной базе данных продуктов, и мне нужен поиск по кратным индексированным данным.
Вот моя модель товара
class Product < ActiveRecord::Base
has_many :taxons
searchkick
def search_data
{
taxon_names: taxon_names
}
end
def taxon_names
taxon_names = taxons.map do |t|
{:name => t.name, :parent_name => t.parent.name}
end
# I.e taxon_names => [{:name=>"Tenis", :parent_name=>"Sport"}, {:name=>"Women", :parent_name=>"Gender"}, {:name=>"Adidas", :parent_name=>"Brand"}]
return taxon_names
end
end
И мне нужно выполнить поиск, который разрешает, например, «Adidas» и «Nike».
Product.search("Adidas")
# and
Product.search("nike")
но в том же запросе.