【发布时间】:2013-09-04 05:04:17
【问题描述】:
我在 SQLite 数据库中有一些数据,我想在列表视图中提供基本的搜索功能。
这是我希望能够解决的搜索查询示例:
1) sqlite 数据示例:
- 广告
- 公元前
- 光盘
- d
- 大
- ec
2) 输入和想要的输出:
- a -> [ ad , da ]i>
- d -> [ d , da , ad , cd ]i>
- c -> [ cd, bc , ec ]i>
我已经想到了一些事情,但没有什么真正好的:
- 全文搜索:我无法修改输入 db 文件,所以我认为我无法使用它
- 一个 sqlite 查询 (
name LIKE ?% OR name LIKE %?%):未排序。也许可以找出另一个我不知道的查询 - 两个不同的查询(
name LIKE ?%然后name LIKE %?%):但是如何用内容提供者来实现呢?游标包装?合并光标?自定义加载器?
我看过很多示例,但对我的自定义搜索没有任何用处。
感谢您的帮助。
编辑:对d 的查询应该给出 [d , da , ad , cd ]。
我想要的自定义排序顺序是:LIKE pattern% 然后 LIKE %pattern%(例如 socks 应该在 a pair of socks 之前)
【问题讨论】:
-
SELECT name FROM items WHERE name LIKE '%a%'不起作用? -
d输入结果不应该是[d, ad, cd, da]?
-
@user1759572 1) 它不对结果进行排名(d 不在广告之前)。 2)你是对的
-
您希望如何对它们进行排名?按分贝的顺序?您可能需要对名称列进行全文搜索查询吗?
-
@user1759572 我添加了一些细节。我可以在不修改数据库的情况下使用 FTS 吗?
标签: android sqlite android-contentprovider android-cursor android-loader