问题标签 [fts4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6466 浏览

python - 如何在 Windows 上使用 python2.7 设置 FTS3/FTS4

默认情况下,FTS3/FTS4 在 python 中不起作用(最高 2.7)。我得到错误:

或者

如何解决?

0 投票
1 回答
2450 浏览

sqlite - System.Data.Sqlite 和 FTS4

为什么当我使用全文搜索语法编写查询时,例如:

查询结果总是返回0行?

我正在使用 VBnet 和来自sqlite.org的最新 Ado.net 提供程序

问题是当我尝试使用外部工具进行查询时,它运行良好(使用 sqlite 3.7.9)。

有什么线索吗?提前致谢

0 投票
1 回答
695 浏览

android - 没有这样的模块:fts4aux-查询使用 fts4aux 创建的 sqlite 虚拟表时出错

我正在尝试收集单词并从 fts4aux 表中构建一个集合来提供 AutocCompleteTextView。但是在访问使用 fts4aux 创建的虚拟表时遇到问题

我有一个虚拟表“ProductVirtual”。

由此我创建了一个名为“product_terms”的 fts4aux 表。

这是我的查询

从 product_terms 中选择术语

当我从数据库控制台对 sqlite 数据库运行此查询时,我能够检索结果。

但是当我从我的 android 应用程序中使用相同的查询时,它会引发以下错误

I/SqliteDatabaseCpp(26555): sqlite 返回: 错误代码 = 1, msg = 没有这样的模块: fts4aux, db=/data/data/com.product/databases/product_device.db

同时,我可以毫无问题地从 android 应用程序中查询 fts4 虚拟表。所以,我确定 fts4 已启用。

但唯一的问题是使用“fts4aux”表。我该如何克服这个?我必须在某处单独启用“fts4aux”吗?

请发表你的想法。谢谢!

0 投票
1 回答
1149 浏览

android - 使用特殊字符的 SQLite FTS4 搜索

我有一个 Android 应用程序,它使用 FTS4 虚拟表在 SQLite 数据库中搜索数据。它工作正常,但是当表中的数据包含特殊字符(如“á”、“é”、“í”、“ó”、“ú”或“ñ”)时,SQLite MATCH 函数不会给出任何结果。我在这一点上迷路了。谢谢。

0 投票
1 回答
2665 浏览

sqlite - 连接表:一个是普通表,另一个是 FTS 虚拟表

将普通表与 FTS 表连接起来是个好主意吗?我想知道它是否会影响 FTS 表的原始性能,还是不会?当然,查询肯定会使用 MATCH 子句。

0 投票
1 回答
229 浏览

sql - SQL FTS 和比较语句

短篇故事。我正在做一个需要与 SQLite 数据库通信的项目。我有几个问题:

有一个包含nodeIdnodeName列的 FTS 表。我需要选择 nodeNames 包含一些文本模式的所有 nodeIds。例如,所有带有“Donald”的节点名称。在这个线程中讨论了类似的事情。关键是我不能使用CONTAINS关键字。相反,我使用MATCH。这就是问题本身:这个“Donald”字符串应该如何“装帧”?使用 '*' 还是使用 '%' 字符?这是我的查询:

在SELECT语句中写多重比较可以吗?我的意思是这样的:

我希望这听起来不会很混乱。先感谢您!

0 投票
1 回答
619 浏览

python - 使用 sqlite 的 FTS 片段函数处理 html 转义

我正在使用 sqlite 的全文搜索支持来存储可能包含&,<>字符的文档。我打算使用片段函数来突出显示 html 结果页面的匹配项,但我没有看到在注入标记之前转义文本的明显方法。我宁愿在存储之前不要转义文本,因为那样amp,ltgt将成为标记。

我能想到的最简单的解决方法是在存储页面之前对页面进行转义,并使用一个自定义标记器,该标记器首先将&amp;unescape&lt;&gt;.

但是...由于默认snippet(foo)使用<b>and </b>,这似乎是一个非常常见的用例,我相信必须有一种方法来处理这个问题,而无需在 C 中重新发明轮子。我是否忽略了更多优雅的解决方案?

0 投票
1 回答
1048 浏览

sqlite - 为什么 SQLite 全文搜索 (FTS4) 在复合搜索中以不同方式处理尖括号?

我有一个使用 FTS4 的 SQLite 数据库。它用于存储具有以下形式的消息 ID 的电子邮件:

使用 FTS MATCH 语法搜索消息,我得到以下结果:

这将返回正确的行。但是当我尝试查找多封电子邮件时,我得到一个空回复:

不过奇怪的是,我可以在没有尖括号字符的情况下进行搜索。这将返回两行:

即使尖括号存在于存储的列中也是如此。我找不到提到这些是 SQLite 中的特殊字符,并且没有“或”,单项搜索工作正常。

为什么在我的复合搜索中这些字符的处理方式不同?

0 投票
3 回答
2692 浏览

sqlite - SQLite FTS 示例不起作用

我已经下载了最新的 SQLite 3.7.15.2 shell (Win32) 并尝试完全按照http://sqlite.org/fts3.html#section_3中的内容执行 FTS 示例之一

但尽管最后一条评论 SELECT 导致空集。它是 SQLite 中的错误还是只是过时的文档?(以及正确的语法是什么?)。

对我来说最重要的是那个查询

也不起作用,我在我的应用程序中需要那种类型的查询。有没有其他方法可以编写它以便它工作?

0 投票
0 回答
175 浏览

android - 使用搜索查询时,Android FTS4 数据库返回一个空光标

在我的应用程序中,我创建了一个存储联系人信息的 FTS4 数据库,该应用程序使用户能够根据姓名搜索联系人。当用户输入搜索查询时,该查询将与数据库中的条目进行比较,然后将匹配的条目显示在列表中。当我单击任何条目时,它会给我一个错误,我对其进行调试以发现我的光标为空。

以下是我的 Database 类中最有可能导致问题的部分:

这是我的搜索活动:

错误: