【发布时间】:2010-09-29 12:16:44
【问题描述】:
假设我有一个包含许多名称的数据库表。我想对这些名称进行“灵活匹配”。我不确定“灵活匹配”是否是正确使用的术语,但现在让我们一起去吧。在“模糊匹配”上有similardiscussions,但我对语音匹配并不感兴趣。我对所谓的有序子集匹配感兴趣。
我希望它类似于 QuickSilver (OSX) 或 Launchy (Windows)。以下是给定搜索字符串的一些匹配示例:
mit ⇒ Massachusetts IT技术研究所
ffox ⇒ Firefox
osx ⇒ Mac OS X
ms em> ⇒ Microsoft Corporation
我的最终目标是拥有一个带有自动完成文本字段的网页,该字段是从服务器驱动的数据。
我相信通过结合 jQuery LiveUpdate 和/或 jQuery QuickSelect 的功能,我将在客户端获得足够的结果。
我需要帮助的地方是如何最好地处理服务器端针对大桌子的弹性匹配。我对如何使用 Quicksilver scoring algorithm 和一些排列索引逻辑构建自己的自定义索引有一些想法,但如果有其他可用的东西,我宁愿不重新发明轮子。
总而言之: 针对具有多行的数据库表获得快速弹性匹配的最佳方法是什么?
【问题讨论】:
标签: sql mysql database algorithm search