pocketnetteam / barteron.gui

2 stars 1 forks source link

Сделать поиск нечувствительным к регистру в поисковой строке #28

Closed Voyager-3rd closed 1 week ago

Voyager-3rd commented 5 months ago

В Бартероне ПОИСК чувствителен к регистру букв. Например, введя слово "Мёд" получаем один результат. А когда "мёд" в нижнем регистре - результат другой. Пожелание: сделать поиск НЕ чувствительным к регистру букв.

Voyager-3rd commented 4 months ago

Данная проблема может быть исправлена только на стороне API. В документации к бартерону заявлено, что поиск выполняется без учета регистра (см. скрин), однако на практике это не так.

Анализ файла BarteronRepository.cpp (https://github.com/pocketnetteam/pocketnet.core/blob/a9431d853c94202e25bcabbe3f54c61741bbd4db/src/pocketdb/repositories/web/BarteronRepository.cpp#L303) показал (строки кода 303, 364), что там используется оператор LIKE без приведения операндов к одному регистру (обычно таким способом реализуется регистронезависимый поиск) для search и location. Необходимо это исправить.

Снимок экрана 2024-05-10 в 03 07 56
andyoknen commented 4 months ago

Проблема имеено в кириллице, в латинице like регистроНЕзависимый по-умолчанию. https://www.sqlite.org/faq.html#q18

Для поиска можно реализовать fulltext search индекс, данный способ используется в поисках по постах бастиона. Я возьму в работу этот момент.

Для локации при использовании ASCII символов этой проблемы не должно быть.

Voyager-3rd commented 1 week ago

@andyoknen, подскажи, пожалуйста, актуальный статус по задаче. Она уже выполнена и добавлена в релиз?

andyoknen commented 1 week ago

В тестовой сети да, в продакшне скоро. Думаю можно закрыть таску