![]() |
![]() ![]() |
![]() |
--Piotrek-- |
![]()
Post
#1
|
Goście ![]() |
Witam,
Moje zapytanie wygląda tak: Przy wyszukiwaniu załóżmy: 'andrzej nowakowski kiedy nadejdzie jutro', wyniki wyglądają mniej więcej tak: 1. andrzej nowakowski - andrzej nowakowski - nadzieja 2. andrzej nowakowski - zmierch 3. andrzej nowakowski 4. andrzej nowakowski - kiedy 5. andrzej nowakowski - kiedy nadejdzie jutro 6. andrzej nowakowski - zima Pomijając fakt, że niektóre rekordy, jak widać mają błędne tytuły to jednak dlaczego to co jest idealnym dopasowaniem dla szukanej frazy, zamiast na początku jest dopiero na 5 miejscu ? Problem ten występuje tylko dla pewnych zapytań, ale jednak coś jest nie tak. Jak to naprawić ? Z góry dzięki za pomoc! |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
W order by wykorzystujesz match, który nie jest w boolean mode, jak najbardziej słusznie, ale ze składnią skopiowaną z boolean mode, co powoduje traktowanie dodatkowych znaków jako zawartości do wyszukania, dzięki temu nie jest to już idealne dopasowanie. Usunięcie ich rozwiąże problem kolejności. Natomiast dodatkowe błędne wyniki spowodowane są tym, że "+'.$szukane.'*" oznacza w tym przypadku "+'.andrzej nowakowski kiedy nadejdzie jutro.'*". Powinno być "+".$szukane."*".
Ten post edytował pmir13 17.04.2011, 18:48:56 |
|
|
--Piotrek-- |
![]()
Post
#3
|
Goście ![]() |
W takim razie jak zmodyfikować order by, żeby działało tak jak trzeba, bo szczerze mówiąc próbowałem już wielu kombinacji, ale ciągle
nie mogę uzyskać zadowalającego efektu ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
W ten sposób masz poprawną kolejność, przy założeniu dokładnego przypasowania pierwszego słowa z frazy. Jeśli jednak chcesz wyłącznie idealną zgodność
|
|
|
--Piotrek-- |
![]()
Post
#5
|
Goście ![]() |
Nie za bardzo mi to działa.
Pierwszy sposób czyli:
Działa identycznie z tym co podałem na początku. Natomiast drugi sposób:
wywala mi błędy:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie dziwne, że nie działa lub wywala błędy skoro źle przepisujesz. Proponuję kopiuj/wklej.
Oczywiście $query na $sql możesz zamienić, ale resztę zostaw dokładnie. Pierwsze zapytanie dla zestawu: andrzej nowakowski - andrzej nowakowski - nadzieja andrzej nowakowski - zmierch andrzej nowakowski andrzej nowakowski - kiedy andrzej nowakowski - kiedy nadejdzie jutro andrzej nowakowski - zima i szukanej frazy "andrzej nowakowski - kiedy nadejdzie jutro" zwraca: andrzej nowakowski - kiedy nadejdzie jutro andrzej nowakowski - kiedy andrzej nowakowski - andrzej nowakowski - nadzieja andrzej nowakowski - zmierch andrzej nowakowski andrzej nowakowski - zima natomiast drugie zapytanie dla tej samej frazy zwraca andrzej nowakowski - kiedy nadejdzie jutro |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:34 |