iphone - 未知分词器 : icu in sqlite3 request

标签 iphone sqlite fts3

请帮我解决一个问题。我的 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);

我从数据库中收到下​​一个错误:错误:“未知标记器:icu”。 我已经下载了 sqlite 的源代码,将 sqlite.c 添加到 xCode4 中的项目中,并将 #define SQLITE_ENABLE_FTS4 添加到 sqlite.c 文件中。但问题仍然存在。 我正在尝试在模拟器中执行此操作,这可能是原因吗?

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

祝你玩得开心!

最佳答案

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

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

参见Tokenizers在 ICU 文档中。

关于iphone - 未知分词器 : icu in sqlite3 request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7003122/

相关文章:

sqlite - OrmLite-named在内存数据库中引发异常

sqlite - SQLite FTS3 中的中文分词器在哪里?

sqlite - System.Data.Sqlite 和 FTS4

android - 如何在 SQLite 中使用 FTS3

iphone - dequeueReusableCellWithIdentifier 不返回我的自定义类型的单元格

iphone - 触摸开始驳回 View

django - 在生产中使用 Django 中的 SQLite?

android - 列表大小从 sqlite 查询返回 0

ios - 从 App 构建中排除 iPhone 4/4S

iphone - 将应用内视频保存到相机胶卷?