
Прокачиваем локальный поиск на Dart и Flutter
fognature1 7 минут назад Прокачиваем локальный поиск на Dart и Flutter Уровень сложности Средний Время на прочтение 8 мин Охват и читатели 297 Flutter * Dart * Разработка мобильных приложений * Hola, Amigos! На связи...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. fognature1 7 минут назад Прокачиваем локальный поиск на Dart и Flutter Уровень сложности Средний Время на прочтение 8 мин Охват и читатели 297 Flutter * Dart * Разработка мобильных приложений * Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga и соавтор книги “Основы Flutter”. Иногда нужно реализовать поиск по данным без участия бэкенда.
Самый простой вариант — обычное вхождение строки — не прощает опечаток. Одна лишняя буква, и поиск выдает пустоту. В статье разберем, как усовершенствовать этот процесс: научим поиск обрабатывать ошибки и сортировать результаты по степени совпадения.
Технические детали
Немного теории У наших приложений миллионы пользователей, но редко кто вводит запросы совсем без ошибок. Большинство людей часто опечатывается, поэтому поиск должен уметь распознавать, что именно они имели в виду. Допустим, у нас есть список адресов в едином формате: final addresses = [ ‘г.
Москва, Арбатская площадь, д. ]; И пользователь вводит в строку поиска “Орбатская 14”. Что будет найдено простым вхождением строк?
Так как существует опечатка и в наших данных даже без нее нет совпадений. Предположим, что обращаться к серверу мы не можем, так как он не так быстро отвечает, как хотелось бы, или выдает слишком много данных. Для бизнеса скорость поиска критична, поэтому тут нам на помощь приходят алгоритмы нечеткого поиска, которые легко реализовать локально.
Отраслевые последствия
Тут нам на помощь приходят алгоритмы нечеткого поиска, так как их можно реализовать локально. Алгоритмы нечеткого поиска Приближенное соответствие строк, которое также называют нечетким поиском, - это одна из составных частей крупных поисковых систем, которая позволяет смотреть не на прямое вхождение строки, а также обрабатывать опечатки. Давайте посмотрим, каким образом можно сделать более точное сравнение строк.
Расстояние Левенштейна Основой нечеткого поиска можно назвать расстояние Левенштейна. Оно определяет минимальное количество операций для превращения одного слова в другое. Такими операциями являются вставка, удаление и замена символа.
Расстояние Левенштейна Например, для слов «Австрия» и «Австралия» расстояние равно 2 (добавили две буквы), для «кот» и «код» – 1 (заменили символ), а для пары «водка» и «вода» – тоже 1 (удалили букву). Но для поиска такое не очень подходит. Причина этому - у более длинных строк может быть больше расстояние, чем у коротких.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





