9

我有一个 rails 应用程序,我正在从 Sphinx 切换到 ElasticSearch 并使用 gem searchkick。

我有一个模型教师和模型标签(通过 gem),其中教师可以关联多个标签。在教师模型中,我定义了这样的索引:

def search_data
    {
      name: name,
      intro: intro,
      bio: bio,
      tag_name: tags.name
    }
end

姓名、简介和简介是教师属性,但我想索引与教师相关的标签的名称。我怎样才能做到这一点?

现在的方式,它索引对象的名称(关系),我如何索引标签对象内的属性名称?

4

1 回答 1

20

提出问题后不久,我在github 页面上找到了解决其中一个问题的方法:

def search_data
    {
      name: name,
      intro: intro,
      bio: bio,
      tag_name: tags.map(&:name)
    }
end

索引正确的属性。

于 2014-01-27T14:15:46.540 回答