gpt4 book ai didi

android - 无法从 sqlite fts3 检索特殊字符

转载 作者:太空狗 更新时间:2023-10-29 15:19:39 24 4
gpt4 key购买 nike

我的场景中有一些特殊字符的问题。我有一个使用 fts3 创建的 sqlite 数据库。

当我使用 SELECT col_1, col_2, offsets(table) FROM table WHERE table MATCH 'h*' LIMIT 50;

我能够得到以 h 开头的单词。

但是当我使用

SELECT col_1, col_2, offsets(table) FROM table WHERE table MATCH '@*' LIMIT 50;

我没有得到以@开头的字符串。

我哪里错了?任何关于方法的指示都会很棒。

最佳答案

我认为您描述的行为发生是因为 SQLite FTS3 uses tokenizer called "simple" by default .字符 @ 被丢弃,因为它不是字母数字字符且其 UTF 代码点不大于 127。我对此的解释是 FTS 不是用于搜索特殊字符,而是用于搜索自然文本。

我建议的修复方法是不对此类查询使用 FTS,而是使用 LIKE 运算符。或者您可以尝试搜索其他可用的分词器或 write your on in C .

关于android - 无法从 sqlite fts3 检索特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9188214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com