В настоящее время у меня есть следующий запрос...
SELECT id,
LOWER(title) as title,
LOWER(sub_title) as sub_title
FROM ebay_archive_listing
WHERE MATCH(title, sub_title) AGAINST ("key" IN BOOLEAN MODE)
Однако он не находит строки, где title
содержит слово "ключ". "ключ" генерируется динамически на основе набора ключевых слов, поэтому иногда он содержит символы + и -.
Настройки по умолчанию для полнотекстового индексирования MySQL не будут индексироваться или совпадать с любым словом менее четырех букв.
Если у вас есть фраза, сделанная целиком из слов менее четырех букв, таких как key
, вам нужно вручную вернуться к необъявленному поиску LIKE
.
Вы можете изменить это поведение опустив настройку ft_min_word_len
. Вы также можете изменить или отключить список "стоп-слов" (которые также не индексируются), пока вы на нем, поскольку список по умолчанию является жестоким и причудливым.