首页 / 知识
轻量级模糊搜索库
2023-04-14 02:16:00

Lightweight fuzzy search library您能建议一些轻量级的模糊文本搜索库吗? 我想要做的是允许用户使用错别字为搜索词找到正确的数据。 我可以使用像Lucene这样的全文搜索引擎,但是我认为这太过分了。 编辑:
当我在文本框中键入'Gren'或'Geen'时,我想在结果集中看到'Green'。 索引数据的主要语言是英语。 我认为露西恩(Lucene)要完成这项任务。 更新: 我找到了一款符合我要求的产品。它是ShuffleText。 Lucene具有很好的可扩展性,这也意味着它对于少量应用程序也有好处。如果需要,您可以在内存中快速创建索引。 对于模糊搜索,您确实需要确定要使用哪种算法。通过信息检索,我成功地将Lucene与n-gram技术结合使用。但这是一种特殊的索引技术,本身不是"库"。 在不了解您的应用程序的情况下,推荐合适的库并不容易。您要搜索多少数据?数据是什么格式?数据多久更新一次? 我不确定Lucene是否适合模糊搜索,自定义库将是更好的选择。例如,此搜索是使用Java完成的,并且运行起来非常快,但是它是针对以下任务而定制的: 尝试使用基于Lucene API的Walnutil(集成到SQL Server和Oracle DB)。您可以创建任何类型的索引,然后使用它。对于简单的搜索,您可以使用核桃软件的一些方法,对于更复杂的搜索情况,可以使用Lucene API。请参阅基于Web的示例,其中使用了从Walnutil Tools创建的索引。您还可以看到一些用Java和C#编写的代码示例,可将其用于创建不同类型的搜索。 您没有指定开发平台,但是如果它的PHP则建议您查看ZEND Lucene库: http://ifacethoughts.net/2008/02/07/zend-brings-lucene-to-php/ 由于它的LAMP比Java上的Lucene轻得多,并且可以轻松扩展为其他文件类型,前提是您可以找到转换库或cmd行转换器-有很多OSS解决方案可以做到这一点。 如果可以选择使用数据库,建议使用PostgreSQL及其模糊字符串匹配功能。 如果可以使用Ruby,建议您研究amatch库。 Soundex的编码非常"英文"-Daitch-Mokotoff适用于许多名称,尤其是欧洲(德语)和犹太名称。在我以英国为中心的世界中,这就是我所使用的。 Wiki在这里。 狮身人面像是一种功能强大,轻巧的解决方案。 它比Lucene小,并且支持消除歧义。 它是用c编写的,它经过快速,可靠的测试,具有每个env的库,并且已被craigslists.org等大型公司使用。 @aku-指向正常工作的soundex库的链接位于页面底部。 关于Levenshtein距离,有关Wikipedia的文章也在底部列出了实现。 |
最新内容
相关内容
linux数据库同步命令?
linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,DB2数据库在linux操作系统的指令有哪些?1、linux系统常用操作命令linux用户名改名命令?
linux用户名改名命令?,系统,密码,命令,代码,名称,用户名,用户,终端,主机名,文件,linux下命令怎么修改用户名1、Linux系统中用户切换的命令为sulinux用户分组命令?
linux用户分组命令?,系统,命令,电脑,信息,时间,标准,资料,用户,文件,用户组,Linux命令行操作之sedsed命令行格式为:sed [-nefri] ‘command’linux命令进数据库?
linux命令进数据库?,地址,系统,名字,服务,密码,命令,读法,数据库,操作系统,主机,linux系统mysql数据库怎么进入数据库首先确保linux下mysql安linux用户退出命令行?
linux用户退出命令行?,状态,档案,标准,系统,命令,文件,模式,编辑,指令,主机,linux退出vi编辑命令先按ESC进入Command模式,然后输入“:wq”,回车就linux搜索过去命令?
linux搜索过去命令?,系统,信息,命令,名称,工作,预期,数字,地址,标准,服务,Linux系统中怎么搜索文件命令大全grep命令 grep是一个强大的文本搜linux清空表数据命令?
linux清空表数据命令?,系统,数据,软件,名称,不了,命令,文件,电脑,地址,位置,Linux删除文件的命令?1、linux 删除文件指令:输入rd盘符名:\文件夹linux命令搜索命令?
linux命令搜索命令?,系统,位置,地址,标准,管理,信息,命令,名称,工作,文件,Linux下Grep命令的详细使用方法?查找root目录下包含Linux的文件,命令linux编辑文本命令行?
linux编辑文本命令行?,工作,系统,信息,状态,地址,命令,管理,标准,目录,文件,Linux文本操作常用命令linux常用命令有pwd命令、cd命令、ls命令、linux查看文本的命令?
linux查看文本的命令?,系统,工作,标准,信息,命令,管理,数据,文件,目录,时间,Linux文件相关命令命令一:cat cat命令应该是在Linux中查看文件内容linux用户组命令设置?
linux用户组命令设置?,管理,系统,密码,代码,电脑,用户组,用户,软件,新增,命令,linux怎么设置用户组1、首先我们需要在电脑上打开linux操作系统linux进入用户命令行?
linux进入用户命令行?,系统,地址,工作,服务,信息,命令,首页,电脑,密码,终端,Linux下如何进入MySQL命令行1、连接到本机上的MYSQL,一般可以直接