根据 race_id 和 animal_id 查找相似记录

Find similar records based on race_id and animal_id

我有一个模型叫做 Adoption:

class Adoption < ApplicationRecord
  belongs_to :animal
  belongs_to :race

  searchkick language: 'french'

  def search_data
    {
      # name: name,
      # description: description,
      race_id: race_id,
      animal_id: animal_id
    }
  end
end

所以,现在我想找类似的领养。我用相同的数据创建了两个收养记录。在 rails 控制台中,我执行这些命令:Adoption.reindex,然后:adoption = Adoption.find(1),最后:similars = adoption.similar(fields: %w[race_id^5 animal_id], limit: 3).records。它没有发现任何类似的收养。但是,如果我在 search_data 方法中取消注释 name,重新索引并将 name 添加到字段数组,它会找到采用。那么,我的代码有什么问题?任何帮助将不胜感激。谢谢。

这是解决方案

similars = adoption.similar(fields: [:race_id, :animal_id], limit: 3).records