小编joh*_*ers的帖子

索引ElasticSearch中的方法结果(Tire + ActiveRecord)

我正在使用Tire和ActiveRecord为elasticsearch索引数据集.我有一个Artist模型,has_many:images.如何索引返回特定图像的Artist模型的方法?或者参考相关模型的方法?我想要的艺术家结果将包括与艺术家相关的主要图像的路径(原始图像和缩略图).

我试过这个映射:

mapping do
  indexes :id,                  :index    => :not_analyzed
  indexes :name                     
  indexes :url
  indexes :primary_image_original       
  indexes :primary_image_thumbnail
end
Run Code Online (Sandbox Code Playgroud)

引用这些Artist方法:

    def primary_image_original  
        return images.where(:priority => 'primary').first.original
    end

    def primary_image_thumbnail
        return images.where(:priority => 'primary').first.thumbnail_150
    end
Run Code Online (Sandbox Code Playgroud)

这只是忽略了索引方法.基于其他答案,如Elasticsearch,Tire和嵌套查询/与ActiveRecord的关联,我试过这个:

mapping do
  indexes :id,                  :index    => :not_analyzed
  indexes :name 
  indexes :url
  indexes :images do
    indexes :original
    indexes :thumbnail_150
    indexes :priority
  end
end

def to_indexed_json
    to_json(include: { images: { only: [:original, :thumbnail_150, :priority] } } )
end
Run Code Online (Sandbox Code Playgroud)

但这也不会归还我所追求的.我花了几个小时谷歌搜索和阅读elasticsearch和Tire文档,并没有找到这个模式的工作示例.谢谢你的想法!

ruby-on-rails elasticsearch tire

11
推荐指数
1
解决办法
3889
查看次数

标签 统计

elasticsearch ×1

ruby-on-rails ×1

tire ×1