Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] wyszukiwanie pełnotekstowe a InnoDB
wiewiorek
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 11
Dołączył: 5.09.2009

Ostrzeżenie: (0%)
-----


Wyszukiwanie pełnotekstowe jest możliwe na tabelach typu MyISAM, a na InnoDB nie. W jaki sposób więc mieć wyszukiwanie takie jak w google mając tabele InnoDB ?
Go to the top of the page
+Quote Post
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Zamienić je na MyISAM? Ewentualnie możesz sobie zaimplementować własne, jednak będzie mniej wydajne.

Kiedyś robiłem takie wyszukiwanie. Rozbijasz podaną frazę na części składowe (po spacjach i znakach specjalnych), wyszukujesz połączenia +wyraz -wyraz, cudzysłowowa etc. Następnie tworzysz zapytanie z like, gdzie wstawiasz AND, OR w zależności od + lub jego braku, NOT jeśli jest -, całość zwrotu jeśli jest w cudzysłowie.
To wszystko jednak powoduje dość długie zapytanie (tym bardziej jeśli wyszukujesz w kilku tabelach i w kilku kolumnach), czasem na prawdę długie potworki. Trzeba mieć dobrze założone indeksy żeby to chodziło jako tako.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.09.2025 - 08:44