具有多个单词的Web搜索算法

时间:2013-06-08 10:55:25

标签: algorithm search web

我想在我的网站上使用数据库搜索,所以我想要使用有效的算法。 例如,如果我尝试搜索“Hello my name is xxx”,我想看到结果:
你好,我的名字是约翰
你好,我的名字是彼得
你好先生。的 XXX
他的名字是彼得
这里

所以我想用数据的一部分从数据库中搜索所有数据,并按匹配单词的数量对结果进行排序。

我做了算法,但我很害怕它是如此复杂和缓慢: 我将搜索文本拆分为单词,并使用带有多个like或命令的SQL select。然后我将此结果保存到列表中。然后我计算每个结果中匹配单词的数量,并按此计数进行排序 问题是,当我尝试搜索长文本时。 我应该使用更好的算法,还是应该像Sphinx一样学习思考

1 个答案:

答案 0 :(得分:1)

对于前两个结果,一个简单的正则表达式搜索应该能够检索这样的结果。 对于后者,您可以考虑使用现有的搜索库,例如Google Search Appliance,它可用于搜索数据库信息。