![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 10 Dołączył: 13.02.2007 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Tworzę sobie pewien skrypt i napotkałem dość dziwny problem podczas tworzenia wyszukiwarki. Chcę do zrobić za pomocą pełnotekstowego wyszukiwania ze względu na wydajność, gdyż na stronie jest przewidywany ogromny ruch. Zapytanie SQL:
Wynikiem tego w bazie danych jest wyszukiwanie rekordów mających w sobie napis "adobe", lecz z wynikiem (score) - 0. Pytanie - dlaczego? Przecież powinien znaleźć te rekordy. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 42 Dołączył: 22.07.2007 Skąd: /dev/random Ostrzeżenie: (0%) ![]() ![]() |
Powinien jeżeli zastosujesz klauzule WHERE (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Jeżeli słowo adobe jest bardzo popularne to zapytanie nic nie zwróci |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 10 Dołączył: 13.02.2007 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) już śmiga;p
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 13.01.2008 Skąd: z nienacka Ostrzeżenie: (0%) ![]() ![]() |
Powinien jeżeli zastosujesz klauzule WHERE (IMG:style_emoticons/default/winksmiley.jpg)
Jeżeli słowo adobe jest bardzo popularne to zapytanie nic nie zwróci Mały komentarz ponieważ powyższa odpowiedź wprowadza w błąd, a trafiłem tutaj z pierwszej strony google. Nie ma konieczności wpisywania MATCH ... AGAINST w klauzuli WHERE. mechanizm MATCH ... AGAINST ma za zadanie określić wartość semantyczną zawartości wiersza do w porównaniu ze wzorcem. Jeżeli koledze nie zadziałało zapytanie dla słowa kluczowego 'adobe', to znaczy (jeżeli zostało zapisane w skrypcie prawidłowo), że słowo występuje w więcej niż 50% wierszy jakie są w tabeli. Takie małe ograniczenie ze strony silnika. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 1.10.2025 - 14:01 |