如何在Android中自定义FTS tokenizer

Sta*_*tay 5 sqlite android full-text-search

因为sqlite fts默认tokenize是'simple',我可以将它改为'porter'.但我必须支持非美国语言.像中文一样,它不能只按空格或点分割.所以我想自定义标记器.有人可以给我一些建议吗?

  1. 如何在Sqlite中注册Tokenizer.

    SELECT fts3_tokenizer(<tokenizer-name>, <sqlite3_tokenizer_module ptr>);
    
    Run Code Online (Sandbox Code Playgroud)

    因为sqlite是Android中的系统库,我不知道我是否可以注册.

  2. 是否有适用于所有语言的通用标记器?对于我的应用程序必须i18n.只支持中文没用.

Kir*_*ilo 1

当然,您需要自定义 SQLite 安装。SQLite Android 绑定提供了一种简单的方法来做到这一点。这允许应用程序使用自定义构建或版本的 SQLite,无论其部署到哪个 Android 版本,同时继续使用标准 Android 界面。 https://sqlite.org/android/doc/trunk/www/index.wiki