Flex的匹配许多数据库记录(水银状或Launchy样匹配) [英] Flex Matching Many Database Records (Quicksilver-like or Launchy-like matching)

查看:150
本文介绍了Flex的匹配许多数据库记录(水银状或Launchy样匹配)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有一个数据库表有许多名字。我想灵活匹配对这些名字。我不知道,如果柔性匹配是适当的期限使用,但让我们去与现在。已经有<一个href="http://stackoverflow.com/questions/369755/how-do-i-do-a-fuzzy-match-of-company-names-in-mysql-with-php-for-auto-complete">similar <一href="http://stackoverflow.com/questions/309479/how-to-find-best-fuzzy-match-for-a-string-in-a-large-string-database">discussions在模糊匹配,但我不是拼音匹配很感兴趣。我感兴趣的是什么,我会打电话有序子集匹配。

Assume I have a database table with many names. I'd like to "flex match" against these names. I'm not sure if "flex match" is the proper term to use, but let's go with that for now. There have been similar discussions on "fuzzy matching," but I'm not really interested in phonetic matching. I'm interested in what I'd call ordered-subset-matching.

我想它的工作类似的QuickSilver(OSX)或Launchy(Windows)中。下面是匹配对于给定的搜索字符串的几个例子:

I would like it to work akin to QuickSilver (OSX) or Launchy (Windows). Here are a few examples of matches for a given search string:

MIT 的⇒ M assachusetts的 T nstitute ffox 的⇒ F 愤怒**狐狸**
OSX 的⇒苹果 OS X
MS 的⇒ M ICRO计划** S **经常被公司

mitMassachusetts Institute of Technology
ffoxFire**fox**
osx ⇒ Mac OS X
msMicro**s**oft Corporation

我的最终目标是有一个自动完成文本字段,其数据从服务器驱动的网页。

My end goal is to have a web page with an auto-completing text field that's data driven from the server.

我相信我会在客户端上适当的结果由的jQuery的LiveUpdate <结合功能/ A>和/或 jQuery的QuickSelect

I'm confident I'll get adequate results on the client side by combining features from jQuery LiveUpdate and/or jQuery QuickSelect.

在我需要帮助是如何最好地处理在服务器端的柔性对阵一大桌。我有一些想法,如何建立使用水银<一个我自己的自定义索引href="http://$c$c.google.com/p/blacktree-alchemy/source/browse/trunk/Crucible/$c$c/NSString_BLTRExtensions.m"相对=nofollow>得分 算法,也许一些置换索引逻辑,但我宁愿不重新发明轮子,如果别的东西,如果一应俱全。

Where I need help is in how to best handle the flex match on the server side against a large table. I have some ideas in how to build my own custom index using the Quicksilver scoring algorithm and maybe some permutation index logic, but I'd rather not re-invent the wheel if something else if readily available.

总结: 什么是获得一个对数据库表的快速柔性匹配许多行的最好方法

推荐答案

这并没有直接回答我的问题,但对于项目我的工作,我意识到,我只是没有的需要服务器端组件此的的。为了方便我的web应用程序的客户端,我刚刚推出了两个新的开源项目:

This doesn't answer my question directly, but for the project I'm working on, I realized that I just didn't need a server side component for this yet. To facilitate the client side of my web application, I just launched two new open source projects:

  • 的Liquidmetal 的:这是一种水银状计分算法,对缩写分数字符串。有用的建立索引时。
  • 的FlexSelect :一个jQuery插件,轮流选择框到Flex匹配增量调查控制。把它看成是水银squooshed成一个选择框。它使用的Liquidmetal过滤和实时结果进行排序。
  • LiquidMetal: This is a Quicksilver-like scoring algorithm that scores strings against abbreviations. Useful when building an index.
  • Flexselect: a jQuery plugin that turns select boxes into flex-matching incremental-finding controls. Think of it as Quicksilver squooshed into a select box. It uses LiquidMetal to filter and sort the live results.

这篇关于Flex的匹配许多数据库记录(水银状或Launchy样匹配)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆