我有一个rails应用程序,我正在从Sphinx切换到ElasticSearch并使用gem searchkick。
我有一个模型教师和一个模型标签(通过一个宝石),教师可以有多个标签关联。在教师模型中,我已经定义了这样的索引:
def search_data
{
name: name,
intro: intro,
bio: bio,
tag_name: tags.name
}
end
名称,介绍和生物是教师属性,但我想索引与教师关联的标签的名称。我怎样才能做到这一点?
现在的方式,它索引对象的名称(关系),如何索引标记对象内的属性名称?
答案 0 :(得分:21)
在提出问题后不久,我找到了关于github page上的一个问题的解决方案:
def search_data
{
name: name,
intro: intro,
bio: bio,
tag_name: tags.map(&:name)
}
end
索引正确的属性。