【发布时间】:2011-08-24 15:40:39
【问题描述】:
我正在尝试实现基于关键字搜索的搜索引擎。 谁能告诉我实现关键字搜索的最佳(最快)算法是什么?
我需要的是:
我的关键词:
search, faster, profitable
它们的同义词:
search: grope, google, identify, search
faster: smart, quick, faster
profitable: gain, profit
现在我应该在数据库中搜索上述同义词的所有可能排列,以确定最匹配的单词。
【问题讨论】:
-
不要为此使用 MySQL。使用诸如 lucene 或 elasticsearch 之类的东西。
-
在我看来您已经找到了解决方案...您检查了列表中单词的每一个排列,并获得了
SELECT ... WHERE ... LIKE $permutation。您给定的列表应该只需要几秒钟。
标签: performance algorithm search