首页 > 解决方案 > 用太阳黑子索引 jsonb 字段

问题描述

如何在带有太阳黑子的 jsonb 字段中索引我需要的字段?我有模型 Man:

 #<Man id: 1, name: "John Doe", type: "Man", r_id: "5734", fields: {"message"=>"hello world!", "sex"=>2, "uid"=>5734, "domain"=>"www.old-man.com"}, created_at: "2018-07-12 12:44:07", updated_at: "2018-07-12 12:44:07">

所以,我试图指出这样的可搜索字段:

  searchable do
      text :fields, stored: true
    end

它将索引所有字段。但是如何将字段中的字段“消息”仅指示为可搜索字段?

标签: ruby-on-railsrubysolrsunspot

解决方案


来自 gem文档

searchable do
  text :title, :body
  text :comments do
    comments.map { |comment| comment.body }
  end
  ...
end

这对你不起作用?

searchable do
  text :fields do
    fields["message"]
  end
end

推荐阅读