【发布时间】:2023-04-01 23:52:01
【问题描述】:
编写 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)
【问题讨论】: