1

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

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

  define_type Post do 
    field :title
  end
end

如何同时搜索用户full_name和帖子titles

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

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

1 回答 1

1

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

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)

于 2017-02-28T05:01:49.607 回答