上在MySQL在一个大的表列(S)(> 10.000.000行)通配符搜索
题
这techniqes你会用它来实现对内容列在MySQL的一个非常大的表中的搜索?例如说,你必须存储在数据库中的表10.000.000电子邮件和想实现一个主题检索,这将使我要搜索的是出现在电子邮件主题的一个或多个单词。如果用户搜索“圣诞老人”,你应该找到像“圣诞老人访问我们这个圣诞节”和“圣诞节,圣诞老人会永远显示”。
科目电子邮件我的想法是在处理对象的所有单词(去除所有数字,特殊符号,逗号等),保存每个字中的索引表,其中,I对单词列的唯一索引。然后我会链接到电子邮件表由多对多的关系表。
有没有执行通配符更好的方法搜索满足非常大的表?
是否有原生支持这种搜索的数据库?
其他提示
MySQL的MyISAM表支持 FULLTEXT
索引,这有助于在这种搜索。
但它并不适用于这种搜索的最快的技术。而且你不能使用它存储在InnoDB表的数据。
我听说过狮身人面像搜索一些好东西,但我还没有使用它。
下面是关于狮身人面像另一篇博客: http://capttofu.livejournal.com/13037.html一>
虽然MySQL的全文索引是可能的,我怀疑我会看看使用的东西设计得象的 Lucene的。
这听起来全文搜索,其中SQL Server支持。
但你的想法是一般的声音。你有效地计算提前,以加快搜索您的表中的“索引”。
您想看看MATCH...AGAINST
功能。
请参阅,例如:使用MySQL全文搜索
检查 “全文搜索” 在MySQL的文档(AFAIK,目前所有DBMS支持此)
不隶属于 StackOverflow