2012-12-13 21 views
5

Mój klient nalega na przeszukiwanie wielu kolumn przez dowolną część ciągu znaków. Więc staram się to zrobić:Prefiks i sufiks symboli wieloznacznych w pełnotekstowym wyszukiwaniu mysql

... MATCH(smth, smth2) AGAINST('*string*' IN BOOLEAN MODE) 

indeksowania lub szybka wyszukiwarka nie jest wymogiem, więc nawet jeśli .. MATCH AGAINST mieli nie używać indeksu - byłoby OK. Ale problemem jest to, że wcześniej ustalonej wieloznaczny nie działa - tylko po jednym słowem robi:

*string* - will match the same as string* and *string does not match anything 

Czy istnieje sposób, aby rozwiązać ten problem z MySQL? Naprawdę nie zamierzam instalować żadnych usług indeksowania ani niczego takiego, więc powolne zapytania będą musiały być wykonywane.

Mogę jakoś spróbować użyć LIKE na wielu kolumnach, ale wyobrażam sobie, że byłoby to jeszcze wolniej.

+0

myślę, że można użyć REGEXP tego problemu. .! – Chella

+0

Mogę użyć regexp lub prostego LIKE, ale jak zastosować go w wielu kolumnach z prostą składnią, taką jak MATCH ... AGAINST? – Marius

Odpowiedz

Powiązane problemy