代码之家  ›  专栏  ›  技术社区  ›  Wojciech Kaczmarek

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

  •  3
  • Wojciech Kaczmarek  · 技术社区  · 16 年前

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

    我需要添加全文搜索,允许基于Levenshtein距离或其他类似指标的模糊搜索。另外,lexer/stemmer必须使用非英语单词(在词法分析时,只需关闭依赖语言的功能即可,不要与目标语言相混淆,因为目标语言可能会将英语引擎视为无关的有意义的单词)。

    我想Postgres的t search不会在这里应用,因为它没有模糊搜索——如果我错了,请纠正我。

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

    你会推荐什么?

    更新 :似乎我需要的是基于N-gram的度量而不是Levenshtein。

    3 回复  |  直到 15 年前
        1
  •  6
  •   Simone Carletti    16 年前

    Rails+Postgres+Solr+太阳黑子

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

        2
  •  3
  •   mjy    16 年前

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

        3
  •  0
  •   Hatem Mahmoud    15 年前

    texticle 为Postgres提供beta模糊搜索。