需要建议:Rails,Postgres和模糊全文搜索

Woj*_*rek 3 postgresql full-text-search ruby-on-rails n-gram levenshtein-distance

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

我需要添加全文搜索,这将允许基于Levenshtein距离或其他类似指标的模糊搜索.添加词法分析器/词干分析器必须使用非英语单词这一事实(可以在lexing时关闭与语言相关的功能,而不是弄乱目标语言,这可能会使英语引擎认为有意义的单词无关紧要).

我想Postgres的研究不会在这里适用,因为它没有模糊搜索 - 如果我错了,请纠正我.

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

你会推荐什么?

更新:似乎我需要比Levenshtein更基于n-gram的指标.

Sim*_*tti 6

Rails + Postgres + Solr + Sunspot

Solr以Lucene为基础,因此您可以充分利用Lucene的所有功能.Sunspot是Solr API的优秀Ruby包装器.Sunspot和Solr都适用于Rails和PostgreSQL,我在一个月之前就将它用于一个项目.