Full Text MySQL


(Pj) #1

Hi

Mam problem z wyszukiwaniem Full Text, a dokładniej z frazami które mają znak myślnika w środku, który jest traktowany jako minus :frowning:

czy przy wyszukiwaniu full text występują jakieś znaki specjalne? gdzie przy konstruowania zapytania mógłbym zamienić myślnik na coś innego ?

próbowałem wzorem LIKE gdzie "_" podłoga to dowolny znak, a "%" procent to dowolny ciąg niestety nie działa jak należy :frowning:

w przypadku słów > 3 znaki przedzielonych myślnikiem np. Ribbentrop-Mołotow problemu nie ma, zamieniam string na +Ribbentrop +Mołotow i wyniki są ok, gorzej ma się sprawa jak chce wyszukać np nazwę s-14

macie jakieś pomysły ?


(Kstarski) #2

z tego co wiem w mysql słowa zaczynają się dopiero od 4 znaków, dlatego nie możesz znaleźć +s +14

da się gdzieś zmienić minimalną długość słowa, ale więcej o tym nie wiem :slight_smile:


(system) #3

Wydaje mi się że mógłbyś zamienić myślnik na encje, wtedy wyszukiwarka by to traktowała jak znak. Mam taką samą wyszukiwarkę na stronie i nie zastanawiałem się jak reaguje na myślnik.

Może to Ci coś pomoże -> http://techblog.purysta.pl/2009/07/23/fulltext-index/


(Pj) #4

w konfigu Mysql-a jest ft_min_word_len niestety mój hosting nie chciał zmienić tego parametru

Dlatego dla fraz krótszych niż 4 znaki mam tradycyjne wyszukiwanie z like. Problem w tym, ze 's-14' z przykładu ma 4 znaki w tym "-"

W manualu MySQL piszą, że trzeba dodać myślnik do zestawu znaków, które full text ma akceptować , sztuczka z encjami niestety nie działa :frowning: