Я создаю сайт, на котором пользователи загружают изображения и пишут для этого описание. Я хочу, чтобы пользователи могли искать описание, они имеют в виду изображение, которое они хотят получить.php mysql search description for keywords
Сначала я решил преобразовать описание, введенное пользователем при загрузке изображения в ключевые слова и связать ключевые слова с изображением, в этом случае, когда пользователи выполняют поиск описания в последующем описании, которое они вводят, будут преобразуется в ключевые слова и как-то синонимы будут сгенерированы для ключевых слов, которые все будут искать по ключевым словам в БД.
Недавно я прочитал о mysql Полнотекстовый поиск. Я создал таблицу с описаниями и идентификаторами изображений и попробовал пару запросов, используя функцию полнотекстового поиска. Кажется, он не возвращает никаких результатов в большинстве поисковых запросов из-за ограничения длины слова и стоп-слов. Вот мой тестовый запрос:
SELECT * FROM descriptions WHERE MATCH (description) AGAINST ('same' IN BOOLEAN MODE);
Существует запись в таблице с описанием, содержащим ключевое слово «же», но никаких результатов не возвращаются.
Мой вопрос: лучше ли использовать «LIKE% keywords%» в таблице описания или использовать FTS в таблице описания или придерживаться подхода к таблице ключевых слов?
Благодарим вас за ответ. Ваш ответ означает, что в этом случае лучше использовать LIKE, а не подход FTS или таблицы ключевых слов, упомянутый мной в моем вопросе? – user1918451
Если вы не являетесь экспертом в области MySQL, вам будет проще понять, как это работает. FTS более сложна, чем LIKE. В конце концов вы, вероятно, сможете сделать то же самое с обоими, но вы вложите гораздо больше времени, чтобы заставить его работать с FTS – bucur89
спасибо, можно ли достичь ранжирования какого-то типа, предложенного FTS, используя LIKE? – user1918451