Как мне искать слова в моем текстовом столбце? MySQL? - PullRequest
0 голосов
/ 04 июня 2010

В моей таблице есть столбец типа text. Пользователь может ввести любую комбинацию слов, она должна появиться в результате. Например. Предположим, строка: - Addicted to stackoverflow

И предположим, что пользовательские типы addicted и stackoverflow, тогда также должны появиться результаты. Другими словами, это не простой оператор like, с помощью которого мы можем получить результаты. Другой вариант - использовать полнотекстовый поиск. Но моя таблица InnoDb, а не MyISAM, поэтому я не могу использовать даже полнотекстовый поиск. Мне придется составлять временную таблицу каждый раз, когда какой-то пользователь ищет строку. Это ужасно неэффективно.

Кто-нибудь может сказать мне какой-нибудь другой подход, который может сработать для меня? Если у кого-то есть свой алгоритм, поделитесь им. Я лучше пойду с этим, а не создаю временные таблицы и удаляю их каждый раз, когда выполняется какой-либо поиск.

Заранее спасибо:)

Ответы [ 3 ]

1 голос
/ 04 июня 2010

Проверьте http://www.sphinxsearch.com/ или http://lucene.apache.org/ или MySQL RLIKE функция

1 голос
/ 04 июня 2010

Sphinxsearch фактически поддерживает InnoDB, а также MyISAM.

1 голос
/ 04 июня 2010

Вы можете попробовать Lucene

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...