У меня есть таблица книг в моей базе данных MySQL, которая имеет столбцы Title (varchar (255)) и Edition (varchar (20)). Примерами таких значений являются «Введение в микроэкономику» и «4».Поиск по словам одного символа long (MySQL)
Я хочу, чтобы пользователи искали книги на основе названия и издания. Так, например, они могут войти в «Микроэкономика 4», и это принесет правильный результат. Мой вопрос заключается в том, как я должен установить это на стороне базы данных.
Мне сказали, что поиск FULLTEXT - это, как правило, хороший способ делать такие вещи. Однако, поскольку издание иногда представляет собой только один символ («4»), полный текстовый поиск должен быть настроен для просмотра отдельных символов (ft_min_word_len = 1). Это, я слышал, очень неэффективно.
Итак, как мне настроить поиск в этой базе данных?
ОБНОВЛЕНИЕ: Я знаю, что CONCAT/LIKE можно использовать здесь. Мой вопрос: будет ли это слишком медленно. Моя база данных книг насчитывает сотни тысяч книг и много пользователей будут искать его ..
Проблема с расщеплением слов заключается в том, что заголовки имеют пробелы, поэтому вы не можете знать, является ли это изданием или заголовком. Конечно, метод LIKE можно использовать, выполнив CONCAT() в заголовке и редакции в сравнении LIKE. Мой вопрос в основном - будет ли это идти медленно? Я слышал, что люди используют FULLTEXT, потому что LIKE так медленно. В моем db есть сотни тысяч книг, и многие люди будут использовать базу данных. – babonk