Ruby on rails 需要推荐:Rails、Postgres和模糊全文搜索

Ruby on rails 需要推荐:Rails、Postgres和模糊全文搜索,ruby-on-rails,postgresql,full-text-search,levenshtein-distance,n-gram,Ruby On Rails,Postgresql,Full Text Search,Levenshtein Distance,N Gram,我有一个带有Postgres后端的Rails应用程序 我需要添加全文搜索,这将允许基于Levenshtein距离或其他类似度量的模糊搜索。加上词法分析器/词干分析器必须处理非英语单词这一事实(在词法分析时,只需关闭依赖于语言的功能就可以了,这样就不会干扰目标语言,因为目标语言中可能有英语引擎认为不相关的有意义的单词) 我想Postgres的tsearch不适用于这里,因为它没有模糊搜索——如果我错了,请纠正我 后端和插件的可能组合是什么?它更喜欢对基础设施增加较少的解决方案(例如,如果Postg

我有一个带有Postgres后端的Rails应用程序

我需要添加全文搜索,这将允许基于Levenshtein距离或其他类似度量的模糊搜索。加上词法分析器/词干分析器必须处理非英语单词这一事实(在词法分析时,只需关闭依赖于语言的功能就可以了,这样就不会干扰目标语言,因为目标语言中可能有英语引擎认为不相关的有意义的单词)

我想Postgres的tsearch不适用于这里,因为它没有模糊搜索——如果我错了,请纠正我

后端和插件的可能组合是什么?它更喜欢对基础设施增加较少的解决方案(例如,如果Postgres可以有模糊fts,为什么要使用外部Lucene);当然,Rails插件的质量也很重要

你推荐什么


更新:似乎我更需要基于n-gram的指标,而不是Levenshtein

Rails+Postgres+Solr+太阳黑子

基于Lucene,因此您可以利用所有Lucene功能。是SolrAPI的优秀Ruby包装器。
Sunspot和Solr在Rails和PostgreSQL中都很好地工作,我在一个多月前的一个项目中使用了它。

PostgreSQL附带了一个名为(contrib/目录中)的扩展。根据我的经验,它太慢了(更像是概念验证的实现),但对于您的应用程序来说,它可能会工作。

为Postgres提供了beta模糊搜索。

简而言之,您能告诉我们使用Solr比普通Lucene有什么好处吗?基本上,有了Solr,您可以通过网络使用Lucene。看见