我有一个名为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
。它没有找到任何类似的收养。但是,如果我在name
方法中取消注释search_data
,重新索引并将name
添加到字段数组中,则会找到采用方法。那么,我的代码有什么问题?任何帮助将不胜感激。感谢。
答案 0 :(得分:1)
这是解决方案
similars = adoption.similar(fields: [:race_id, :animal_id], limit: 3).records