Если вы ищете точный поиск по изданию, минуя ft_min_word_len, я бы порекомендовал в вашей форме поиска пользователя два поля, одно для заголовка, другое для издания, чтобы вам не приходилось угадывать, есть ли / где издание, упомянутое в поисковой фразе (и издание также может быть необязательным). В этом случае поиск для Издания в столбце издания будет с "LIKE".
Другое решение - поскольку размеры ваших символов довольно малы - это создать новый столбец, посвященный полнотекстовому индексу / поиску, в котором вы объединяете заголовок и издание. Чтобы не беспокоиться о ft_min_word_len и Edition, сначала объедините зарезервированное вами слово, которое вряд ли будут искать пользователи, например, «EDNB» и Edition, когда оно является числом (или небольшим).
В этом случае, когда вы создаете новый столбец, анализируйте издание (это можно сделать и для заголовка):
- Измените все однозначные слова n на "EDNB" + n (например, "4" => "EDNB4")
- Тогда NewColumn = Title + "" + NewEdition
Когда пользователь что-то ищет,
- идентифицирует все ее номера в поисковой фразе и заменяет их на "EDNB" + n.
Вы можете изменить ft_min_word_len на 3, чтобы поймать «1-й» или «3-й» (или вы также можете EDNB их).
Обратите внимание, что наличие нового независимого столбца поиска может быть удобным: не для учета регистра (так как Fulltext уже делает это), а для поиска слов с ударением, которые написаны с ошибками. Вы бы поменяли все акценты на буквы без акцента.
Например, если заголовок «Recette de la crème brûlée», а издание «France 4», вы в конечном итоге получите столбец поиска «recette de la creme brulee france EDNB4». Если пользователь выполняет поиск «crëme 4», «ë» изменяется на «e», «4» на «EDNB4» и его поисковая фраза становится «creme EDNB4».