gpt4 book ai didi

ruby-on-rails - Rails with Sunspot 添加子模型属性

转载 作者:行者123 更新时间:2023-11-29 12:26:53 26 4
gpt4 key购买 nike

所以,我已经弄乱了这个问题几个小时,我想我已经尝试了已经发布在这个问题上的所有内容。这是我的第一个问题。

因此,我正在尝试搜索模型(位置):branch_name、:branch_address1 等,并将其子模型(员工):first_name 用作其自身的属性。因此,如果位置员工姓名在搜索查询中,则期望的效果是位置(作为结果)将返回。我试图用这样的代码来实现这一点:

class Location < ActiveRecord::Base
belongs_to :partner
has_many :employees, dependent: :destroy

validates_presence_of :branch_name, :branch_address1, :branch_country, :branch_zip_code
accepts_nested_attributes_for :employees, allow_destroy: true, :reject_if > proc { |attributes| attributes['first_name'].blank? }

searchable do
text :branch_name, :branch_address1, :branch_city, :branch_zip_code
text :employee_attributes do
:first_name
if :employee_attributes
end
end
end

end

我也想使用父模型(合作伙伴)名称,但我也无法使用它。

我能否在 Locations 表中创建一个新列来捕获每个新员工的姓名,或者我是否可以在该模型中搜索 child ?

最佳答案

我在rails上用过solr,也遇到过类似的问题。就像你问的关于新专栏的问题,我已经向 solr 添加了一个新字段

pseudo code

searchable do
text :first_name, :stored => true
string :partner_name, :stored => true do
partner.name
end
end

请注意,存储字段会增加成本。

在我的例子中,我不得不触发多个查询,耗时 47 秒,存储值帮助我避免了多个查询,单个查询耗时 5 秒。

您需要重新编制索引才能获得结果。

关于ruby-on-rails - Rails with Sunspot 添加子模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30261347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com