为了这个问题,让我们说我有两个模型:
Book
,其中包含name
,created_at
,updated_at
和相关的Author
模型。Author
,其中包含name
和birthdate
。出于搜索目的,我想进行两次不同的搜索:
Book
或name
author.name
Author
name
search_data
是否必要?例如,我的Author
模型是否足够 只有searchkick searchable %i[name]
,或者我还需要:def search_data
{
name: name
}
end
Book
' s Author.name
?目前,我会做这样的事情,但是,似乎从README的Nested Data部分可能有另一种方法来完成同样的事情。def search_data
{
name: name,
author_name: author.name
}
end
Book
许多 Author
,该怎么办?以任何作者的名字搜索图书的建议方法是什么?这样的事情是迄今为止我能想到的最好的事情:def search_data
{
name: name,
author_names: author.pluck(:name)
}
end
答案 0 :(得分:0)
如果仅需要模型字段,则无需定义search_data
。 Searchkick自动执行此操作。您可以使用Author.first.search_data
进行检查。
Searchkick对嵌套数据的支持有限。您提供的示例看起来不错。
这正是对多位作者的建议。