MySQL поиск текстового столбца для конкретного слова - PullRequest
1 голос
/ 17 августа 2011

То, что я хотел бы сделать, это поиск слова специфики в моей таблице следующим образом:

SELECT * FROM my_table WHERE MATCH (description) AGAINST ('test');

И это вернет все строки в my_table, который содержит строку 'test'.

Проблема в том, что эта доза не всегда бывает.Это означает, что это будет работать иногда после того, как я воссоздаю таблицу.

CREATE TABLE my_table 
(date date, 
time time, 
name varchar(50), 
description text, 
FULLTEXT INDEX (description)) ENGINE=MYISAM;

Поскольку это происходило только иногда, это привело меня к мысли, что с индексированием должны быть какие-то проблемы.

Так что япопытался установить ft_min_word_len в 1, который ничего не сделал.MySQLVersion - это сообщество 5.1.57.

Спасибо за помощь.

1 Ответ

2 голосов
/ 17 августа 2011

против и против - это поиск на естественном языке.если ваш столбец содержит 50% или более от того, что вы передаете в параметре против (), он будет считаться общим и не будет ничего возвращать.просто используйте SELECT * FROM my_table WHERE DESCRIPTION LIKE '%test%', где подстановочный знак% показывает, что есть слово или фраза или суффикс / префикс до или после.

здесь прочитайте http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html, чтобы узнать больше

...