Ich habe ein Modell Adoption
genannt:Finden Sie ähnliche Datensätze basierend auf race_id und animal_id
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
So, jetzt habe ich ähnliche Adoptionen finden möchten. Ich habe zwei Adoptionssätze mit denselben Daten erstellt. In Rails-Konsole, mache ich diese Befehle: Adoption.reindex
, dann: adoption = Adoption.find(1)
, und schließlich: similars = adoption.similar(fields: %w[race_id^5 animal_id], limit: 3).records
. Und es findet keine ähnlichen Adoptionen. Aber wenn ich name
in einer search_data
Methode auskommentiere, reindexiere und name
zum Feldfeld hinzufüge, findet es die Annahme. Also, was ist falsch an meinem Code? Jede Hilfe wird geschätzt. Vielen Dank.
versuchen, diese similars = adoption.similar (Felder: [: race_id,: animal_id], Grenze: 3) .records –
Ja, es funktioniert. Vielen Dank –