SQLite:一个单词中FTS匹配可以忽略哪个字符

SQLite:一个单词中FTS匹配可以忽略哪个字符,sqlite,full-text-search,match,Sqlite,Full Text Search,Match,我需要找到任何特殊的角色。如果我把它放在一个词的中间,SQLite FTS匹配可以忽略它,就好像它不存在一样,例如: Text Body: book's 如果我的匹配字符串是“books”,我需要得到“books”的结果。。 使用porter或简单标记器没有问题 我试过很多这样的角色:书!s、 book?s,book | s,book,s,book:s…,但按匹配项搜索“books”时,不会返回这些结果 我不明白,为什么 我使用的是:无内容FTS4表格和外部内容FTS4表格,我的文本正文在每个

我需要找到任何特殊的角色。如果我把它放在一个词的中间,SQLite FTS匹配可以忽略它,就好像它不存在一样,例如:

Text Body: book's
如果我的匹配字符串是“books”,我需要得到“books”的结果。。 使用porter或简单标记器没有问题

我试过很多这样的角色:书!s、 book?s,book | s,book,s,book:s…,但按匹配项搜索“books”时,不会返回这些结果

我不明白,为什么

我使用的是:无内容FTS4表格和外部内容FTS4表格,我的文本正文在每个单词中都有许多字符,搜索时应将其更改为忽略


我无法更改匹配查询,因为我不知道单词中的特殊字符在哪里。另外,我需要保持原始单词长度等于FTS索引单词的长度,以使用匹配信息或代码片段();因此,我无法从文本正文中删除这些字符。

默认标记化程序不会忽略标点符号,而是将它们视为单词分隔符

因此,文本正文或匹配字符串
book的
将以两个单词结束,
book
s
。 这些将永远不会匹配像
书籍那样的单个作品


要忽略像
”这样的字符,您必须。

我使用的是.net中的“System.Data.SQLite”,所以我可以从C#编写自定义标记器吗?我对C或C++一无所知,那该怎么办?另一种方法是将MATCH函数从C#like REGEXP函数改写为SQLite函数?
MATCH
已经是一个自定义函数,由FTS虚拟表实现。你必须学习C语言,或者雇佣一个有能力的人。谢谢。。另外两件事,1:有没有办法将正则表达式与FTS或MATCH一起使用?2:这是破解SQLite标记器的正确方法吗?如果可以,如何解决我的问题?请参见:否(您希望忽略,而不是分隔)。(问题不属于评论。)