我想创建一个简单的搜索引擎来查找用户输入的关键词。我知道我可以使用strpos检查字符串中是否存在单词。但是,我希望用户能够拼错这个词。例如,$userInput="WhatyeardidGeorgeWashingtinbecomepresident?";$key_word="Washington";someFuntion($userInput,$key_word,$percent);if($percent>.95){$user_searched_washington=True;}是否有任何php函数可以执行此操作,或者您对如何创建执行此操作的函数有何建议?
我正在学习php的levenshteinfunction在小型redis实例中创建搜索以获取匹配项,即使提交的搜索词中存在拼写错误。虽然其中的大部分内容都是不言自明的,但我正在努力了解如何最好地使用三个不同的cost参数。intlevenshtein(string$str1,string$str2,int$cost_ins,int$cost_rep,int$cost_del)文档中有简短的解释Asecondvariantwilltakethreeadditionalparametersthatdefinethecostofinsert,replaceanddeleteoperation
我正在尝试实现levenshteinalgorithm有一个小插件。我想优先考虑具有连续匹配字母的值。我尝试使用以下代码实现我自己的形式:functionlevenshtein_rating($string1,$string2){$GLOBALS['lvn_memo']=array();returnlev($string1,0,strlen($string1),$string2,0,strlen($string2));}functionlev($s1,$s1x,$s1l,$s2,$s2x,$s2l,$cons=0){$key=$s1x.",".$s1l.",".$s2x.",".$s2
我坐在这里用Java为我的主程序编写一些算法(这是迄今为止的第一个)。我对levenshtein算法进行了很好的编程,这要归功于wiki对新手的伪代码非常好,还有一个很好的教程:D然后我决定升级到Damerau并添加了额外的行,但后来我读到它不是DL算法而是OptimalStringAlignmentDistance。我尝试阅读actionscript代码以了解我还需要添加什么才能将其添加到DL,但却感到困惑。我去过不同的地方,代码看起来与Java相似,但他们也都使用了错误的伪代码。折腾了半天就放弃了,决定在这里问问。有没有人可以帮助我将此代码升级到Java中的Damerau-Leve
我想使用Levenshteinalgorithm对于以下任务:如果我网站上的用户搜索某个值(他在输入中输入字符),我想立即使用AJAX检查建议,就像GoogleInstant一样。我的印象是Levenshtein算法对于这样的任务来说太慢了。为了检查它的行为,我首先用Java实现它,在方法的每次递归调用中打印出两个String。publicclassLevenshtein{publicstaticvoidmain(String[]arg){Stringa="HalloZusammen";Stringb="jfdssZusammen";intres=levenshtein(a,b);Sy
我的任务是比较两个HTML页面的内容,就像它们彼此之间有多不同。通过差异,我的意思是两者是不同/相同的W.R.T.divS,imgs,content和其他标签(用户可以在视觉上解释所有差异。例如,如果您要比较两个用于购买产品的HTML页面,因此购买过程有3个步骤。如果我比较step2(信用卡信息)和step3(结帐/确认页)然后,几乎所有页面购买面板外的所有内容都是相同的,但内部所有内容都不同。因此,用户可以在视觉上解释这两个页面都不同)。为此,我使用了Levenshtein距离,代码在下面/***ThemethodlevenshteinDistance()isusetocalculateth
我试图弄清楚使用Java流是否有一种优雅的方法来进行以下操作:获取一个pojos的列表,其中一个字段是字符串(例如姓氏)取一个您想搜索的字符串(例如surnametypedin)找到最小的Levenshtein距离列表中的POJO(我正在使用ApacheCommonsstringutils.getlevenshteindistance)返回整个pojo,而不仅仅是姓氏或距离到目前为止,我能够做到的唯一方法是在每个级别上创建一个中间地图,这效果非常肮脏。是否有一种公认的方法来实现自定义收藏家或类似的方法?看答案只需创建一个即可Comparator:Comparatorcomparator=Com
晚安我从事模糊字符串匹配已有一段时间了,使用带有一些指针的C,我可以非常快速地(满足我的需要)实现两个字符串之间的Levenshtein距离。我尝试使用不安全代码和fixed关键字将代码移植到C#,但性能很慢。所以我选择构建一个C++dll并使用C#中的[DllImport],自动编码每个字符串。问题是,在分析之后,这一直是我程序中最耗时的部分,占程序总运行时间的50-57%。因为我认为我需要对来自大约300万条数据库记录的文本字段的大量子字符串进行一些繁重的工作,所以我认为Levenshtein距离所花费的时间几乎是NotAcceptable。也就是说,我想知道您是否对下面的代码有任
我正在尝试在我的MySQL数据库上进行搜索,以获取包含与搜索最相似值的行。即使最接近的结果截然不同,我仍然想返回(以后我进行字符串比较,然后将“未知”添加到学习池中)我想通过“MSG1”列搜索我的表“响应”,并获得一个结果,即Levenshtein分数最低的结果,就像整个列中最相似的结果一样。这种事情:SELECT*FROMpeopleWHERElevenshtein('$message','msg1')ORDERBY???LIMIT1我在这里不太了解Levenshtein的概念,因为您可以看到我在搜索整个桌子,对其进行排序???(该功能的分数?)然后将其限制为一个结果。然后,我想设置$回复我
我有两个表,一个包含大约17K(NLIST)条记录,另一个包含57K(FNAMES)条记录。我想通过使用levenshtein公式比较记录来加入两者。下面是表格内容的例子:表NLIST:+------+-------------+|ID|S_NAME|+------+-------------+|1|Avi||2|Moshe||3|David|....表FNAMES:+------+-------------+|ID|NICKNAMES|+------+-------------+|1|Avile||2|Dudi||3|Moshiko||4|Avi||5|DAVE|....以上表格仅为