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