搜索多个添加的“ search_data”

时间:2019-06-05 20:38:11

标签: elasticsearch ruby-on-rails-4.2 searchkick

我使用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") 

但在同一查询中。

1 个答案:

答案 0 :(得分:0)

Product.search("Adidas nike")呢?

在文档中:

https://github.com/ankane/searchkick#partial-matches