Kiedy próbuje znaleźć „Harrisona Forda” w dokumencie, pg_search powróci dowolny tekst, który zawiera „” oraz „Harrison Ford”, na przykład:pg_search dokładnego dopasowania wyszukiwanych haseł
pg_search_scope :search_by_full_name, :against => [:first_name, :last_name]
People.search_by_full_name ("Harrison Ford")
może wrócić:
George Harrison jeździ Ford Focus
Jak mogę się upewnić, że tylko dokładne dopasowania z 'Harrison Ford'
powrócą?
Niestety, nie rozumiem wyborów algorytmu normalizacji. Jaki próg ustalam, by pominąć cokolwiek innego niż dopasowanie ścisłe? – Ashbury
chodzi o to, że słowa, które są obok siebie, będą miały najwyższą rangę, jeśli "ORDER BY ranking DESC" - dostaniesz do góry to, czego potrzebujesz; w moim przykładzie nie użyłem nawet współczynnika normalizacji @Ashbury –
Problem polega na tym, że może on nadal zwracać serię bliskich dopasowań (i żadnych dokładnych dopasowań) uporządkowanych według tego, jak blisko jest oryginałowi. Nawet jeśli wziąłem najlepszy wynik, nie ma gwarancji, że będzie to dokładny mecz. – Ashbury