Я сделал сайт для магазина, который использует таблицу sql для управления данными о своих продуктах.MySQL Full Text Search нечетное поведение
Я использовал полнотекстовый поиск, чтобы пользователи могли легко искать их в наличии.
Поиск выполняет запросы в соответствии термин с брендом, название продукта и описание, например:
$search_prods = $db_connection->query("
SELECT `id`,`name`,`description`
FROM `Products`
WHERE Match(`brand`) Against('$term')
UNION
SELECT `id`,`name`,`description`
FROM `Products`
WHERE Match(`description`) Against('$term')
UNION
SELECT `id`,`name`,`description`
FROM `Products`
WHERE Match(`name`) Against('$term')
");
поиска работает отлично, за исключением, когда имеем дело с брендом «Пандора». Если я ищу другую марку, я получаю свои результаты. Если я ищу Пандору, я получаю результаты с Pandora в названии и результаты с Pandora в описании. Однако я не могу получить никаких результатов с Pandora в бренде. Они существуют! Я попытался запустить запросы в MySql, и у меня такая же проблема.
Что это такое в поисках «Пандоры» в колонке «Бренд», которая вызывает проблему? У кого-нибудь есть мысли?
Спасибо!
Спасибо за ответ, и спасибо за предложение. Первоначально я написал свой запрос, и он не прошел. Поскольку пример, который я читал только из одного столбца, я предположил, что это ограничение функции. Наверное, я сделал опечатку в первый раз или что-то в этом роде ... – user1537360
@ user1537360 "* Я написал свой запрос, как это первоначально *" => Вы имеете в виду первую часть моего ответа (добавление 'BOOLEAN MODE') или вторая часть (упрощение запроса)? Мой основной вопрос: разрешил ли он проблему? ;) – RandomSeed
Я имел в виду, что я изначально структурировал свой запрос, как в вашем предложении, для консолидации всех трех. После прочтения вашего комментария я попробовал еще раз и получил те же проблемы, но потом заметил, что ваш запрос включал логический режим. Когда я включил булевский режим, он решил проблему. Что касается проблемы, о которой я говорил в OP, вы были на месте. Проблема заключалась в том, что 5/8 моих демонстрационных продуктов были этого бренда. Я добавил несколько продуктов с другими брендами, и проблема была решена. Я не исследовал эту функцию должным образом, потому что я был в такой спешке, поэтому спасибо за помощь! – user1537360