1

我想在我的网站上使用数据库中的搜索,所以我考虑使用有效的算法。例如,如果我尝试搜索“您好,我的名字是 xxx”,我想查看结果:
您好,我的名字是John ,
您好,我的名字是Peter
Hello,先生。xxx
他的名字是彼得
这里

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

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

4

1 回答 1

1

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

于 2013-06-08T11:06:27.390 回答