Как находить в базе данных определенный продукт?

Ребят, такой вопрос, у меня есть таблица в базе данных, называется product в ней есть:

name = 'Название продукта'
calories = 'количество калорий в продукте'
protein = 'Количество белка в продукте'
fats = 'количество жира в продукте'
carbohydrates = 'количество углеводов в продукте'

Например: Имя = Рис, калорий = 300, белка = 10, жира = 2, углеводов = 70 Имя = Гречка, калорий = 320, белка = 16, жира = 1, углеводов = 65

Пользователь вводит Рис и хочет получить значение калорий, белка, жира и углеводов в Рисе, в базе он находится под именем Рис, а вдруг пользователь введет Риса, Руса или еще как то ошибется, то в базе ничего не найдется. Подскажите как можно примерно реализовать, чтобы в базе отыскивалось максимально похожие имя. Я знаю про нечеткое сравнение строк, но как это с базой связать не знаю, может в sqlite есть запрос какой то специальный, но я ничего не нашел


Ответы (1 шт):

Автор решения: Михаил Алексеевич

Можно использовать FTS5 расширение для SQLite

Из минусов - функция trigram индекса в нём экспериментальная.

Я бы на Вашем месте присмотрелся к PostgreSQL.

→ Ссылка