Полнотекстовый поиск по значению "de" в mySQL

153
02 февраля 2022, 13:00

В поле language VARCHAR(2) содержится двухбковенная аббревиатура языка.

Пытаюсь вывести все записи с немецким языком:

SELECT * FROM table1 WHERE MATCH(`language`) AGAINST("de");

Почему-то именно для значения "de" это выражение возвращает пустой набор, хотя не нашел "de" в списке зарезервированных слов.

В настройках mySQL задал ft_min_word_len=1. Для остальных "языков" проблем не наблюдаю.

Почему так происходит?

Answer 1

Слово de присутствует в штатном списке stopwords для innoDB. Слова из этого списка игнорируются в поисковом запросе - таким образом вы задали пустой поисковый запрос.

Есть задокументированная возможность переопределить таблицу stopword, но для указанной в вопросе и комментарии задаче вовсе не нужен fulltext поиск.

READ ALSO
Как сделать правильные окончания слов?

Как сделать правильные окончания слов?

Как сделать правильные окончания слов, например: 1 товар, 2 товара, 5 товаров и тд

162
подключение к localhost через браузер по websocket python

подключение к localhost через браузер по websocket python

Не могу решить проблему: есть серверная часть websocet реализованная на python и клиентская часть на JSВсе работает при отдельном запуске сервера...

363
Оптимизация Drag and Drop

Оптимизация Drag and Drop

Вычитал на сайте о оптимизации Drag and Dorp в javascriptНе знаю, как реализовать

264
Chrome Extension

Chrome Extension

Я в отчаянии, оно теперь даже ошибки не выдаётНужно чтобы расширение меняло 1 символ на другой

199