Что лучше написать SQLite для поиска данных из таблицы?
- Самый релевантный результат должен быть сверху
- Результат должен быть отсортирован по вхождению поискового термина
- В случае того же вхождения,
- Слова, начинающиеся с поисковых терминов, должны быть сверху.
- Слова, содержащие строку поиска в середине, должны идти позже.
- Если несколько слов найдено с одним и тем же шаблоном вхождения, они должны быть отсортированы в алфавитном порядке.
Например, у нас есть этот набор данных:
Borges Extra Virgin Olive Oil
Canola Oil Bottle
Extra Virgin Olive Oil - Olive Jar
Extra Virgin Olive Oil - Olive Tin
Olive Pomace Oil
Supreme Cooking Oil
Когда поисковый термин O
Выходные данные должны быть
Extra Virgin Olive Oil - Olive Jar (3 Occuracne of `O` in start)
Extra Virgin Olive Oil - Olive Tin (3 Occuracne of `O` in start)
Borges Extra Virgin Olive Oil (2 Occuracne of `O` in the start and 1 in mid)
Olive Pomace Oil (2 Occuracne of `O` in the start)
Canola Oil Bottle (1 Occuracne of `O` in the start and 2 in the mid)
Supreme Cooking Oil (1 Occuracne of `O` in the start and 2 in the mid)
Когда поисковый термин Ol
Выходные данные должны быть
Extra Virgin Olive Oil - Olive Jar (2 Occuracne of `Ol` in start)
Extra Virgin Olive Oil - Olive Tin (2 Occuracne of `Ol` in start)
Borges Extra Virgin Olive Oil (1 Occuracne of `Ol` in start)
Olive Pomace Oil (1 Occuracne of `Ol` in start)
Canola Oil Bottle (1 Occuracne of `Ol` in the mind)
Когда поисковый термин Oli
Выходные данные должны быть
Extra Virgin Olive Oil - Olive Jar (2 Occuracne of `Oli` in start)
Extra Virgin Olive Oil - Olive Tin (2 Occuracne of `Oli` in start)
Borges Extra Virgin Olive Oil (1 Occuracne of `Oli` in start)
Olive Pomace Oil (1 Occuracne of `Oli` in start)