Mysql 记录难以辨认的文件

Mysql 记录难以辨认的文件,mysql,perl,substring,Mysql,Perl,Substring,我正试图对手写文件做一个可搜索的记录。其中一些有时非常不清楚,我正在寻找在数据库中捕获它们的最有效方法,但仍然能够利用字母/单词的任何可能分支搜索术语 我目前的想法如下……但我认为,像这样查询“Tom Sawyer”将非常缓慢。有人知道怎么做才是最好的吗 Table: FullTexts FullTextID FullText 0001 This text was written by T{*1}m {*2} 0002 This document was even

我正试图对手写文件做一个可搜索的记录。其中一些有时非常不清楚,我正在寻找在数据库中捕获它们的最有效方法,但仍然能够利用字母/单词的任何可能分支搜索术语

我目前的想法如下……但我认为,像这样查询“Tom Sawyer”将非常缓慢。有人知道怎么做才是最好的吗

Table: FullTexts FullTextID FullText 0001 This text was written by T{*1}m {*2} 0002 This document was even more {*1} to read Table: Changes DocID ChangeID ChangeIter ChangeText 00001 1 1 i 00001 1 1 o 00001 1 2 Sawyer 00001 1 2 Sayor 00002 1 1 fun 00002 1 1 hard 00002 1 1 messy 表:全文 全文ID全文 0001这篇文章是由T{*1}m{*2}写的 0002这份文件更值得一读 表:变化 DocID ChangeID ChangeIter ChangeText 00001 i 00001 o 00001 1 2锯木匠 00001 1 2 Sayor 00002 1乐趣 00002 1硬 00002 1 1凌乱 …或者可能只是一个修改过的全文表,其所有变体在{}之间串联,然后在WHERE子句中使用Perl表达式进行扫描


提前感谢

Mysql和regex是这种搜索的次优工具


生成问题中提到的变体,并将所有文本解析为n-gram。然后将它们输入一个使用n-grams作为输入的搜索引擎,而不是原始文本。

可能值得一看非常感谢Daxim-我以前听说过n-grams,但我从未想过这一点……我会读一些书的!)