Android 全文搜索和 ListAdapter

发布于 2024-10-17 11:45:56 字数 146 浏览 3 评论 0原文

我已经有一个使用 SQLite 数据库和列表适配器的应用程序。我正在尝试更新我的应用程序以使用全文搜索功能,但正在努力寻找问题的答案。基本上,当我使用必要的 _id 列创建虚拟表时,数据库会将其转换为文本字段,并且它不再是自动增量主键。我如何通过列表适配器使用 FTS3 功能?

I already have an application that uses the SQLite database and a listadapter. I am trying to update my application to use the Full Text Search capabilities but am struggling to find an answer to a problem. Basically when I create the virtual table with the necessary _id column, the database converts it to a text field and it is no longer an autoincrement primary key. How would I go about using the FTS3 capabilities with a listadapter?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

香橙ぽ 2024-10-24 11:45:56

使用 FTS3 sqlite 时会忽略数据类型和约束。因此所有列都被创建为文本。它创建一个 docid(也称为 rowid)来代替 _ID 列。为了让适配器能够很好地使用这个 id,您必须将其别名为 _id。

检查 Sqlite FTS 文档的第 1.2 节。
http://www.sqlite.org/fts3.html

另请在 SearchableDictionary 中查找示例的别名。

When using FTS3 sqlite ignores datatypes and constraints. So all columns get created as text. In place of the _ID column, it creates a docid also known as a rowid. In order to get the adapters to play nice with this id, you have to alias it to _id.

Check section 1.2 of the Sqlite FTS docs.
http://www.sqlite.org/fts3.html

Also look in the SearchableDictionary for a sample of an alias.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文