我对FTS
有一些不妥之处,如果有人能够帮助我,我会感激不尽。
目标:使用MATCH
功能进行全文搜索。
问题:无法通过扩展的ASCII
字符进行搜索,例如:'#¿®£$
等。
详细信息:有三种预定义的标记符:simple
,porter
和unicode61
。但是所有这些标记符都将特殊符号识别为分隔符,因为documentation表示:
术语是符合条件的连续字符序列,其中符合条件的字符都是字母数字字符,Unicode代码点值大于或等于128的所有字符。
可能的解决方案(错误的解决方案):有一种方法可以指定额外的符号,这些符号应该用作令牌的分隔符,或者作为令牌的一部分。
CREATE VIRTUAL TABLE text USING FTS4(column, tokenize=unicode61 "tokenchars='$%")
之后,我可以找到以下字词:that's
,doll$r
,60%40
等,因为tokenizer不会通过'$%
符号拆分令牌。
但是它不适合我,因为ASCII
表中有很多扩展符号,列出所有符号并不是一个好的解决方案。
主要问题:使用特殊符号进行搜索的最佳解决方案是什么。
非常感谢,如果需要,请随时询问更多详细信息。