Ich habe eine Controller-Aktion, mit der ich über die Dokumenten-GUID nach Document
suchen kann. Das Problem besteht darin, dass die GUIDs mehr als 20 Zeichen enthalten. Ich möchte in der Lage sein, nach dem Dokument zu suchen, indem ich einfach die ersten 5 Zeichen der GUID sage.Wie man einen Rubin auf Schienen elasticsearch fuzzy match.
Was ich zur Zeit haben, ist:
search_params = { sort: { sent_at: :desc } }
if can_search && params[:document_id].present?
search_params[:filter] = { term: { "_id" => params[:document_id] } }
@documents = Elasticsearch::Model.search(search_params, [Document])
else
@documents = Elasticsearch::Model.search(search_params, [Document]).page(params[:page]).per(20)
end
Dies funktioniert gut, wenn ich die genaue GUID eingeben. Teilweise Übereinstimmung funktioniert jedoch nicht.