如何使用Chewy

时间:2017-02-06 12:30:59

标签: elasticsearch chewy-gem

假设我有一个包含多个对象的索引:

class ThingsIndex < Chewy::Index
  define_type User do
    field :full_name
  end 

  define_type Post do 
    field :title
  end
end

如何搜索这两个用户&#39; full_name和帖子&#39; titles

文档只讨论查询这样一个属性:

ThingsIndex.query(term: {full_name: 'Foo'})

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。链接可能是最简单的:

ThingsIndex.query(term: {full_name: 'Foo'}).query(term: {title: 'Foo'})

如果您需要进行多次查询,可以考虑合并它们:

query = ThingsIndex.query(term: {full_name: 'Foo'})
query = query.merge(ThingsIndex.query(term: {title: 'Foo'}))

在此处详细了解合并:Chewy #merge docs

确保设置限制,否则只显示10个结果:

query.limit(50)