Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Myślę, że to dość powtarzający się problem i pewnie ma ktoś już jakieś doświadczenie.
Chodzi o wyszukiwarkę. Pomińmy może rozwiązania wymagające instalacji oprogramowania na serwerze czyli co MySQL daje w standardzie. Prosto z mostu - co najlepiej użyć? Mamy dwie kolumny imię i nazwisko. - CONCAT + LIKE %% - AGAINST - AGAINST BOOLEAN - LEVENSTEIN ? Pierwsze ok, w miarę działa ale nie posortuje wg trafności. Z resztą nie mam doświadczenia dlatego pisze ten temat. Czy w AGAINST (BOOLEAN) można dać większy priorytet dla danej kolumny np. nazwiska? Np. Jeżeli ktoś się nazywa Jan Adam to chciałbym aby po wpisaniu "Adam" wyszukiwał najpierw osoby o nazwisku Adam, potem dopiero poszukał Adamów. Ogólnie nazwisko powinno mieć większy priorytet. Potem fajnie by było dodawać dodatkowe punkty za dodatkowe wartości np. jeżeli wyszukana osoba jest z tej samej miejscowości. Czy tu da radę to zrobić na poziomie zapytania czy już wyniki uzupełniać w PHP? Ten post edytował markonix 5.12.2012, 17:42:53 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
LEVENSTEIN ogólnie bym sobie darował żeby nie komplikować sprawy. Ktoś zrobi literówkę to już niech się martwi.
Przy uzupełnianiu dodam podpowiedzi przyjmując, że wpisywany ciąg to nazwisko, a następnie dopiero imię. Co do miejscowości -> Szukasz Jan Kowalski. W bazie masz ich trzech, ale dwaj mieszkają nad morzem, a drugi obok Ciebie i jest z Twojej szkoły. Wtedy jak myślisz o którego Ci chodziło? (IMG:style_emoticons/default/smile.gif) Oczywiście to tylko przykłady "punktowania". Słowo punktowanie wziąłem po prostu z aliasu "score", który zazwyczaj jest używany przy AGAINST. http://stackoverflow.com/questions/6259647...-column#6305108 Tutaj znalazłem fajne rozwiązanie, wymaga jedynie nałożenia dwóch indeksów (przynajmniej w moim przypadku). Te rozwiązanie (sumowanie ratingów) podsunęło mi też od razu pomysł na dodanie punktów za jakieś tam cechy (za pomocą CASE). |
|
|
|
markonix Wyszukiwanie po imieniu i nazwisku 5.12.2012, 17:41:50
alegorn LEVENSTEIN jest do sprawdzenia odleglosci ciagow z... 5.12.2012, 18:59:20 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 05:47 |