MySQL полнотекстовый поиск по значению столбца? - PullRequest
9 голосов
/ 06 января 2010

Мне нужно выполнить полнотекстовый поиск для всей группы значений из столбца в другой таблице. Так как для MATCH () требуется значение в части AGAINST (), достаточно просто: «ВЫБЕРИТЕ a.id ОТ a, b ГДЕ МАТЧ (b.content) AGAINST (a.name)» завершается неудачно с «Неправильные аргументы для AGAINST».

Теперь я знаю, что мог бы написать скрипт для запроса списка имен, а затем искать их, но я бы предпочел разработать более сложный запрос, который может обрабатывать все сразу. Это не должно быть быстрым, либо.

Идеи? * * 1005

спасибо

1 Ответ

4 голосов
/ 06 января 2010

К сожалению, http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html говорит:

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

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

Единственная альтернатива, которую я могу придумать, чтобы разрешить поиск многих паттернов, которые вы описываете, это Inverted Index . Хотя это не так гибко и масштабируемо, как настоящая технология полнотекстового поиска.

Смотрите мою презентацию http://www.slideshare.net/billkarwin/practical-full-text-search-with-my-sql

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