未知标记器:sqlite3 请求中的 icu

Posted

技术标签:

【中文标题】未知标记器:sqlite3 请求中的 icu【英文标题】:Unknown Tokenizer: icu in sqlite3 request 【发布时间】:2011-08-09 21:17:47 【问题描述】:

请帮我解决一个问题。我的 sqlite 数据库中有一个虚拟表:

`CREATE VIRTUAL TABLE tablename USING fts4(column1, column2, tokenize=icu ua_UA)`

当我尝试像这样对该表进行 SQL 查询时

const char *sql = "SELECT column2 FROM tablename WHERE tablename.column1 MATCH ?";
sqlite3_bind_text(statement, 1, [matchString UTF8String], -1, SQLITE_TRANSIENT);

我从数据库中收到下​​一个错误:错误:'unknown tokenizer: icu'。 我已经下载了 sqlite 的源代码,将 sqlite.c 添加到我的 xCode4 项目中,并将 #define SQLITE_ENABLE_FTS4 添加到 sqlite.c 文件中。但问题依然存在。 我正在尝试在模拟器中这样做,这可能是原因吗?

请帮帮我。如何使用 xCode 4 在 iPhone 上处理 FTS4?我应该使用一些古老的魔法吗? :)

玩得开心!

【问题讨论】:

【参考方案1】:

您还需要重新编译 sqlite 库本身,使用SQLITE_ENABLE_ICU #defined。

在 Xcode 中仅仅添加源文件和选项是不够的,因为 sqlite 库不会被重新创建。

请参阅 ICU 文档中的 Tokenizers。

【讨论】:

【参考方案2】:

我对这个功能不是很熟悉,但我知道它是 sqlite 的扩展,http://www.sqlite.org/cvstrac/fileview?f=sqlite/ext/icu/README.txt - 听起来好像没有安装在这里。高温

【讨论】:

以上是关于未知标记器:sqlite3 请求中的 icu的主要内容,如果未能解决你的问题,请参考以下文章

iOS 中的 Google Analytics SDK 3.0 _sqlite3 链接器错误

如何修复 Xcode 中的“_sqlite3_prepare_v3”链接器错误

Sonarqube css:如何为前缀为“pr-”的选择器禁用“意外的未知类型”规则

[转载]SQLite3性能优化

Struts 2 下拉示例问题

未知usb设备设备描述符请求失败怎么办?