| --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- [MySQL]Zapytanie sql zwraca błędne wyniki 17.04.2011, 16:39:30
-Piotrek- W takim razie jak zmodyfikować order by, żeby dzia... 17.04.2011, 18:43:42
pmir13 [PHP] pobierz, plaintext $query = "SELECT id,... 17.04.2011, 19:18:14
-Piotrek- Nie za bardzo mi to działa.
Pierwszy sposób czyli:... 17.04.2011, 23:23:24
pmir13 Nie dziwne, że nie działa lub wywala błędy skoro ź... 17.04.2011, 23:52:38 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 18:12 |