【文件属性】:
文件名称:模糊字符串匹配:ruby的模糊字符串匹配库
文件大小:32KB
文件格式:ZIP
更新时间:2021-02-23 09:46:04
Ruby
什么是模糊字符串匹配
Fuzzy-string-match是用于ruby的模糊字符串匹配库。
很快(用RubyInline用C编写)
它仅支持Jaro-Winkler距离算法。
该程序是从Lucene 3.0.2手动移植的。 (lucene是Java产品)
如果要添加其他字符串距离算法,请自己将其分叉到github上并进行移植。
我开发模糊字符串匹配的原因
我尝试了amatch-0.2.5,但其中包含一些问题。
内存泄漏。
我感到很难维持。
因此,我决定通过移植lucene-3.0.x来创建另一个gem。
正在安装
gem install fuzzy-string-match
特征
计算两个字符串的Jaro-Winkler距离。
纯Ruby版本可以处理ASCII和UTF8字符串。 (而且很慢)
本机版本只能使用ASCII字符串。 (但是很快)
样例代码
本机版本
req
【文件预览】:
fuzzy-string-match-master
----.gitignore(100B)
----README.md(4KB)
----.gemtest(1B)
----gemfiles()
--------Gemfile(70B)
--------Gemfile.lock(608B)
----test()
--------.gitignore(22B)
--------fallback_pure_spec.rb(1KB)
--------basic_native_spec.rb(2KB)
--------verify_with_amatch_spec.rb(2KB)
--------mutibyte_spec.rb(3KB)
--------alloc_test()
--------basic_pure_spec.rb(2KB)
----fuzzy-string-match.gemspec(1KB)
----benchmark()
--------.gitignore(21B)
--------vs_amatch.rb(2KB)
----LICENSE.txt(11KB)
----fake_gcc(59B)
----.travis.yml(299B)
----lib()
--------.gitignore(45B)
--------fuzzystringmatch.rb(2KB)
--------fuzzystringmatch()
----Rakefile(1KB)
----original()
--------.gitignore(40B)
--------TestJaroWinklerDistance.java(2KB)
--------JaroWinklerDistance.java(3KB)
--------JaroWinkler.pm(3KB)
--------README.txt(640B)
--------LuceneSample()