我有一个 Rails 应用程序,我正在从 Sphinx 切换到 ElasticSearch 并使用 gem searchkick。
我有一个模型 Teacher 和一个模型 Tags(通过 gem),其中 Teacher 可以关联多个标签。在 Teacher 模型中,我定义了这样的索引:
def search_data
{
name: name,
intro: intro,
bio: bio,
tag_name: tags.name
}
end
姓名、简介和简历是教师属性,但我想索引与教师相关的标签的名称。我怎样才能做到这一点?
现在这样,是索引对象(关系)的名字,如何索引标签对象里面的属性名?
最佳答案
提出问题后不久,我在 github page 上找到了一个问题的解决方案:
def search_data
{
name: name,
intro: intro,
bio: bio,
tag_name: tags.map(&:name)
}
end
索引正确的属性。
关于ruby-on-rails - searchkick 索引相关模型字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21382868/