在数据库- MySQL PHP系统中匹配大列字的关键字


Matching keywords with large column of words in database - MySQL PHP system

我有一个情况,关键字必须检查和匹配包含超过50000个关键字的数据库。这不仅仅是一个相等的匹配,它还必须搜索相关的

示例关键词:James应该与詹姆斯2,詹姆斯2等相匹配

示例关键词:The God should match God (left The)类似的关键词,如"上帝","上帝"等,应该标记类似的条目。

如果所有关键字都存储在MySQL数据库中,则为数据库。


1)什么是最有效的;有效的方法做到以上几点?
2)是否有好的规则引擎,用户可以输入更多的逻辑。例如:删除,(逗号)从关键字搜索等?或者所有这些都应该编码到php中?

我很乐意设置sphinx或其他系统,如果他们被推荐来解决这个问题。Soundex和Metaphone不需要,因为文本应该存在于数据库中,因为它是匹配的。

您可以使用MySQL全文搜索,您可以在一定程度上自定义。

您还可以使用其他搜索解决方案,例如Solr,它可以根据相关性执行所有标记,词干和列出结果。