问题标签 [fts3]

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 投票
1 回答
702 浏览

sqlite - 验证 sqlite FTS(全文搜索)语法,以及如何进行单个术语 NOT 搜索

有没有办法确定发送到 sqlite 中的 fts3 表的 MATCH 查询是否有效?目前,直到我尝试运行它,我才知道表达式是否无效,这让它有点棘手。我想在尝试运行之前向用户报告语法无效。

我正在使用带有 C api 的 sqlite。

此外,使用表达式“NOT”进行搜索将失败并出现“SQLlite 逻辑/数据库错误”。谷歌搜索似乎表明这样的查询是无效的。是否有正确的语法来执行操作?我本质上是在尝试查找不包含该术语的条目。还是我必须退回到使用 LIKE 并进行顺序扫描而不使用 FTS?

0 投票
4 回答
1528 浏览

iphone - 带有 SQLITE FTS3 Xcode 版本的 iPhone 应用程序无法正常工作

我的 iPhone 应用程序使用 SQLITE 的 FTS3 函数(特别是 MATCH 和 OFFSET)。这些对我优化的搜索算法至关重要。我通过在一个名为 SQLite 的组下在我的项目中包含三个 SQLITE 源文件,即 sqlite3.c、sqlite3.h 和 sqlite3ext.h 来实现 FTS3。我从 Frameworks 组中删除了我之前对 libsqlite3.dylib 库的引用。我将“其他 C 标志”和“其他 C++ 标志”项目设置设置为 -DSQLITE_ENABLE_FTS3=1。(我也尝试简单地将这些标志设置为 -DSQLITE_ENABLE_FTS3。)

该应用程序在模拟器中完美地执行调试和发布版本。该应用程序在 iPhone 上也能完美运行,但仅适用于调试版本!

发布版本不返回任何使用 MATCH 和 OFFSET 关键字的 SQL 调用的结果行。我的具体问题是,“当我在连接 iPhone 的情况下构建发布版本时,我的启用 FTS3 的 SQLITE 版本是否没有与我的应用程序一起安装?” 我在我的 Mac 上的相应 Release-iphoneos 子文件夹中看到了 sqlite.o 对象文件。它比 Debug-iphoneos 子文件夹中的要小一些,但我认为这是由于缺少调试符号。

我迫切需要一个解决方案,所以任何想法都将不胜感激。

0 投票
1 回答
1920 浏览

sqlite - 检测 SQLite3 中的 FTS3 扩展

检测是否安装了 FTS3 扩展模块的 SQLite 查询是什么?或者是否可以通过 SQLite3 查询获取已安装扩展的列表?它必须与pysqlite2一起使用。

我知道我可以使用 获得表格列表SELECT * FROM sqlite_master,我想获得类似的扩展列表。我也知道CREATE VIRTUAL TABLE v USING FTS3 (t TEXT)如果安装了 FTS3 就成功了,但我想获得一个没有副作用的查询(甚至不创建临时表)。

作为一种解决方法,我打开了":memory:"数据库,并发出了CREATE VIRTUAL TABLE上面的命令。

0 投票
1 回答
6810 浏览

sqlite - SQLite fts3:在列中搜索字符串

有没有办法在列中搜索特定字符串?

我想搜索 SELECT * from email_fts WHERE email_fts MATCH 'to:"a@b.com" OR from:"c@d.com"'

提前致谢,

马诺伊

0 投票
1 回答
837 浏览

android - SQLite FTS3 性能不一致

具有约 100k 行的表。

为什么会有如此大的跌幅?

0 投票
1 回答
2169 浏览

android - SQLite FTS3 模拟 LIKE somestring%

我正在写一个字典应用程序,需要在打字时做通常的单词提示。

LIKE somestring%相当慢(〜100k行表上〜1300ms)所以我转向FTS3。

问题是,我还没有找到一种从字符串开头进行搜索的合理方法。
现在我正在执行类似的查询

,然后在代码中解析偏移量字符串。

有没有更好的选择?

0 投票
1 回答
314 浏览

ruby-on-rails - 要使用 Ruby 在 SQLite3 中获得 FTS3 支持,是否必须手动编译 sqlite?

我有一个网络应用程序,我想在其中使用 SQLite3 的 FTS3 功能。

我已经安装了 SQLite3-ruby v1.2.5 gem。我想要 FTS3 支持,而且我知道,由于尝试创建 FTS3 表,它不附带它。

我是否需要自己编译 gem/sqlite3 以获得这种支持?我应该使用单独的宝石吗?

0 投票
1 回答
439 浏览

sqlite - 我需要更改 sqlite3 表以添加 FTS3

我需要能够在创建后将 FTS3 添加到 sqlite3 表中,而不是在创建时添加。有谁知道完成此操作的 ALTER 语法?

0 投票
4 回答
6466 浏览

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

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

或者

如何解决?

0 投票
2 回答
1196 浏览

python - 如何在 SQLite FTS3 查询中转义 - 字符?

我正在使用 Python 和 SQLAlchemy 查询 SQLite FTS3(全文)存储,并且我想阻止我的用户使用 - 作为运算符。我应该如何转义 - 以便用户可以搜索包含 - 的术语(通过更改默认标记器启用)而不是表示“不包含 - 后面的术语”?