searchkick 索引相关模型字段

Posted

技术标签:

【中文标题】searchkick 索引相关模型字段【英文标题】:searchkick index related model fields 【发布时间】:2014-02-18 09:50:35 【问题描述】:

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

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

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

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

现在这样,它索引对象的名称(关系),如何索引标签对象内部的属性名称?

【问题讨论】:

【参考方案1】:

在提出问题后不久,我在github page上找到了一个问题的解决方案:

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

索引正确的属性。

【讨论】:

语法小修正,应该是-tag_name: tags.map(&:name)

以上是关于searchkick 索引相关模型字段的主要内容,如果未能解决你的问题,请参考以下文章

在 Rails 中循环遍历 form.select(使用 Elastic Search/Searchkick aggs)

searchkick - 具有多个属性的自动完成

Rails - 如何在searchkick中为过滤器添加更多字段?

Rails Searchkick / Elasticsearch has_many 和 belongs_to 关联

如何为 searchkick gem 设置不同的端口?

将包含 LONGTEXT 字段的 MySQL 表索引到 Elastic Search