我想在我的网站上使用数据库中的搜索,所以我考虑使用有效的算法。例如,如果我尝试搜索“您好,我的名字是 xxx”,我想查看结果:
您好,我的名字是John ,
您好,我的名字是Peter
Hello,先生。xxx
他的名字是彼得
他在这里
所以我想用部分文本从数据库中搜索所有数据,并按匹配词的数量对结果进行排序。
我制作了算法,但我很害怕它如此复杂和缓慢:我将搜索文本拆分为单词,并使用 SQL select 和多个 like 或命令。然后我将此结果保存到列表中。然后我计算每个结果中匹配单词的数量并按此计数对其进行排序。
问题是当我尝试搜索长文本时。我应该使用更好的算法还是应该学习一些像 Sphinx 这样的想法