我有一个包含 5M 行的大型数据集。数据集中的一个字段是“article_title”,我想实时搜索我在我的网站上构建的自动完成功能。
我一直在尝试将 MySQL 和 MongoDB 作为潜在的数据库解决方案。当使用索引时,两者都表现良好,例如'something%',但我需要匹配字符串中的标题,如'%something%'。
MySQL 和 MongoDB 使用前瞻性搜索的索引耗时 0.01 秒,使用全字符串搜索大约需要 6 秒。
我意识到需要扫描整个数据库以进行字符串类型搜索,那么解决此问题的常用方法是什么?Solr 和 Sphinx 对于这个问题似乎有点过分,所以我尽量避免使用它们。
如果我有一个带有 2 GB RAM 和 40 GB SSD 的盒子(这是我目前能买得起的),我能获得亚秒级的响应时间吗?提前致谢。
--
更新:我尝试了全文索引,虽然结果非常快,但它并不能真正满足字符串中的字符串搜索(“presiden”与“president”不匹配)。我正在寻找将字符串与 5M 行数据集匹配的方法。