Полнотекстовый поиск MySQL против значения столбца?

Я должен сделать Полнотекстовый поиск целого набора значений из столбца в другой таблице. Так как СООТВЕТСТВИЕ () требует значения в ПРОТИВ () часть, простое: "ВЫБЕРИТЕ a.id ИЗ a, b, ГДЕ СООТВЕТСТВИЕ (b.content) ПРОТИВ (a.name)" перестало работать с "Неправильными аргументами ПРОТИВ".

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

Идеи?

спасибо

9
задан Eric B 5 January 2010 в 21:25
поделиться

1 ответ

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

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

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

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

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

4
ответ дан 3 November 2019 в 07:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: