我的 mysql 数据库中有 2,000,000 个字符串。现在,当输入一个新字符串时,我尝试找出该字符串是否已经在我的数据库中,否则,我插入该字符串。
字符串匹配的定义
就我而言,文本中单词的位置无关紧要。字符串中只应出现所有单词,并且任何一个字符串中都不应出现多余的单词。
Ex - Ram is a boy AND boy is a Ram将被称为匹配。拉姆是个不配的好孩子。
PS - 请忽略意义
现在,我的问题是,考虑到我必须匹配的字符串数量(2,000,000),进行这些匹配的最佳方法是什么。
我能想到的解决方案:
- 索引 SOLR/Sphinx 中的所有字符串
- 在新搜索中,我将只访问搜索服务器,并且必须考虑最多前 10 个字符串
好处 :-
- 比mysql全文搜索更快
缺点:-
- 使用 mysql 数据库中的新查询保持搜索服务器的更新。
我还有其他更好的解决方案吗?任何解决此问题的建议和方法都非常受欢迎:)
谢谢 !