searchkick索引相关的模型字段

Adr*_*teo 9 orm ruby-on-rails ruby-on-rails-3 elasticsearch searchkick

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

我有一个模型教师和模型标签(通过宝石),教师可以有多个标签关联.在Teacher模型中,我已经定义了这样的索引:

def search_data
    {
      name: name,
      intro: intro,
      bio: bio,
      tag_name: tags.name
    }
end
Run Code Online (Sandbox Code Playgroud)

Name,intro和bio是教师属性,但我想索引与教师关联的标签的名称.我怎样才能做到这一点?

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

Adr*_*teo 21

在提问之后不久,我找到了关于github页面上的一个问题的解决方案:

def search_data
    {
      name: name,
      intro: intro,
      bio: bio,
      tag_name: tags.map(&:name)
    }
end
Run Code Online (Sandbox Code Playgroud)

索引正确的属性.

  • 小语法修正,应该是 - `tag_name:tags.map(&:name)` (2认同)