Как выполнить поиск по таблице MySQL для сайта - PullRequest
2 голосов
/ 10 октября 2009

Как выполнить поиск, аналогичный поиску в Википедии, для таблицы MySQL (или нескольких таблиц одновременно) без предварительного сканирования базы данных? (Поиск в википедии раньше показывал вам релевантность в процентах).

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

Что вы используете для поиска на своих сайтах?

1 Ответ

2 голосов
/ 10 октября 2009

Вы можете использовать MySQL функциональность полнотекстового поиска . У вас должен быть индекс FULLTEXT для полей, которые нужно найти. Для поиска на естественном языке возвращается значение релевантности, которое является «мерой подобия между строкой поиска и текстом в этой строке».

Если вы ищете в нескольких таблицах, значение релевантности должно быть сопоставимо по наборам результатов; Вы можете выполнить UNION отдельных полнотекстовых запросов для каждой из таблиц, а затем отсортировать результаты объединения на основе значения релевантности.

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