假设我有一个包含多个对象的索引:
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'})
假设我有一个包含多个对象的索引:
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'})
有几种方法可以做到这一点。链接可能是最简单的:
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)