![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 9.04.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W związku z rozrastaniem się kontentu, który mam w bazie stanęło przede mną zagadnienie rozbudowania wyszukiwarki.
Nie wystarcza mi proste szukanie w stylu [sql:1:e71e527c64]select * from artykuly where tresc like '%costam%'[/sql:1:e71e527c64] bo: - warunek like '%arka%' wyszuka arka, ale i "nagrywarka", "gitarka", jeśli zrobię '% arka %' - znajdzie "arka" ale nie znajdzie "arka," - treść mam w kilku polach (tytuł, składniki, opis itd.) - strasznie rozbudowuje to zapytanie http://www.mysql.com/doc/en/Fulltext_Search.html To rozwiązanie niewiele wnosi, bo np.: - aby dodać własne stopwords (słowa wyłączone z wyszukiwania) trzeba przekompilować mysql-a (btw, robił to ktoś dla języka polskiego?) - jeśli szukane słowo jest w więcej niż 50% wynikach baza nie zwraca nic (i nie wiadomo czy nie znalazła nic czy właśnie wyników było za dużo) A zatem wobec powyższego jedynym rozwiązaniem jest stworzenie wyszukiwarki z oddzielnym indeksem słów. Ale o tym następnym razem. Może ktoś ma uwagi do tego co napisałem powyżej? eldad -------------------- techne.pl
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
regexp
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 14:37 |