根据 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
我有一个模型叫做 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