dragonsokol
11.11.2011, 16:47:46
Witam, posiadam pola 'a', 'b', 'c'. Piszę do tego wyszukiwarkę. Narazie doszedłem do momentu, że gdy wpiszę szukane "black coffee" to pokazuje dany rekord jeżeli w 'a', 'b' lub 'c' znajdą się dwa wyrazy "black coffee". Jednak chcę zrobić coś takiego:
w 'a' znajduje np "black", i w 'b' lub 'c' "coffee", wtedy też powinien pokazać dany rekord.
Jak to ogarnąć bez pisania w query wszystkich możliwych kombinacji?
gszpetkowski
11.11.2011, 17:13:36
Wydaje mi się, że najprościej byłoby utworzyć konkatenację tych trzech pól i wyszukać czy w ramach tego złączenia występują obydwa szukane wyrazy.
IceManSpy
11.11.2011, 19:20:56
A jakiego silnik używasz do bazy? Jeśli MyISAM to masz coś takiego jak wyszukiwarka pełnotekstowa:
http://drzewo-wiedzy.pl/?page=artykul&...y_match_against.
dragonsokol
11.11.2011, 22:54:17
Używam InnoDB ze względu na transakcje.
Zaraz sprawdzę concata

Dzięki.
Śmiga aż miło

Dla potomnych: użyłem CONCAT_WS w WHERE