180得票12回答
JavaScript模糊搜索的实现方法

我正在寻找一个模糊搜索的JavaScript库来过滤数组。我已经尝试使用fuzzyset.js和fuse.js,但结果很糟糕(可以在链接页面上尝试演示)。 阅读了一些有关Levenshtein距离的文章后,我认为它是用户在输入时所想要的相似度的一种不好的近似值。对于那些不知道的人来说,该系统...

161得票25回答
更好的变长字符串相似度排名算法

我正在寻找一种字符串相似度算法,它在处理变长字符串时可以产生比通常建议的算法(如Levenshtein距离、Soundex等)更好的结果。 例如,对于给定的字符串A:“Robert”, 那么字符串B:“Amy Robertson” 将会是一个比 字符串C:“Richard” 更好的匹...

85得票8回答
Java模糊字符串搜索库

我正在寻找一款高性能的Java模糊字符串搜索库。 有许多算法可用于查找相似的字符串,如Levenshtein距离、Daitch-Mokotoff Soundex、n-gram等。 存在哪些Java实现?它们各自的优缺点是什么?我知道Lucene,还有其他解决方案吗?还是Lucene最好? ...

85得票10回答
使用T-SQL进行模糊匹配

我有一个名为Persons的表格,其中包含个人数据等信息。这里有很多列,但其中感兴趣的是:addressindex、lastname和firstname,其中addressindex是一个唯一的地址,具体到公寓门口。 因此,如果我有像下面这样的两个人,他们的lastname相同,而first...

77得票6回答
模糊搜索算法(近似字符串匹配算法)

我希望创建一个模糊搜索算法。 然而,经过几个小时的调研,我仍然很困难。 我想创建一个在学校名称列表上执行模糊搜索的算法。 这是我目前所看到的: 大部分我的调研都指向Google和Stackoverflow上的"字符串度量",例如: Levenshtein距离 Damerau-Lev...

75得票6回答
在Python中检查模糊/近似子字符串是否存在于较长的字符串中?

使用像 levenshtein(levenshtein或difflib)这样的算法,可以轻松地找到近似匹配。例如:>>> import difflib >>> difflib.SequenceMatcher(None,"amazing","amaging")...

64得票4回答
使用模糊搜索在Vim中打开文件

我想找到一种方法让Vim能够通过模糊搜索文件名的方式来打开文件。 基本上,我想定义一个项目,并有一个快捷键,让我能够输入一个文件名,在输入时它会匹配所有相关字母。 大多数编辑器都具备这样的功能,但我却不知道如何在Vim中实现。 请注意,我寻找的是一种不需要我知道文件在目录树中位置的解决方...

61得票9回答
如何在MYSQL中使用PHP进行模糊匹配公司名称以实现自动完成?

我的用户将通过剪切和粘贴导入一个包含公司名称的大字符串。 我已经拥有一个现有且增长中的MYSQL公司名称数据库,每个公司都有唯一的company_id。 我希望能够遍历该字符串,并为每个用户输入的公司名称分配一个模糊匹配。 目前,仅进行简单的字符串匹配也很慢。 Soundex索引会更快吗...

52得票6回答
模糊正则表达式

在我的工作中,我已经成功地使用了近似字符串匹配算法,比如Damerau-Levenshtein距离,使我的代码更少受到拼写错误的影响。 现在我需要将字符串与简单的正则表达式进行匹配,例如 TV Schedule for \d\d (Jan|Feb|Mar|...) 。这意味着字符串 TV S...

48得票2回答
如何仅使用PostgreSQL创建简单的模糊搜索?

我在我的RoR网站上的搜索功能中遇到了一点问题。我有许多带有一些代码的产品。这个代码可以是任何字符串,例如“AB-123-lHdfj”。现在我使用ILIKE操作符来查找产品:Product.where("code ILIKE ?", "%" + para...