algorithm - 多词网络搜索算法

标签 algorithm search web

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

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

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

最佳答案

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

关于algorithm - 多词网络搜索算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16998793/

相关文章:

python - 如何使用 python selenium 关闭另一个 chrome 弹出窗口

wordpress - 由于名为 "Clef"的插件,我无法访问我的 WordPress 仪表板

algorithm - 二进制被 3 整除

java - 如何降低这部分代码的复杂性?

java - 执行某些操作时停止应用程序

java - google api 搜索 java 代码有超过 4 个结果

html - 右键单击 anchor 未在 IE 中显示预期的上下文菜单

algorithm - 如何使用IP五元组作为哈希表的关键字(使用google的dense_hash_map)?

javascript - 我如何使用 Bullet Physics 逼真地模拟高尔夫球击球? (包括现场演示)

algorithm - 这种类型的二进制搜索有名称吗?