代码之家  ›  专栏  ›  技术社区  ›  Ankit Jaiswal

全文搜索:whoosh与solr

  •  29
  • Ankit Jaiswal  · 技术社区  · 14 年前

    我正在做一个Django项目,在那里我需要实现全文搜索。我见过索尔,也发现了一些不错的评价。但是它是用Java实现的,它需要Java环境和Python一起安装在系统上。在寻找与solr等效的python时,我看到过whoosh,但我不确定whoosh是否和solr一样高效和强大。或者我应该只选择solr,还是有比whoosh和solr选择python更好的选择?

    请建议。

    提前谢谢

    2 回复  |  直到 14 年前
        1
  •  13
  •   drxzcl    14 年前

    对于只包含Python的实现来说,whoosh实际上非常快。也就是说,它至少还减慢了一个数量级。根据索引和搜索所需的数据量以及对最大允许延迟和并发搜索的要求,这可能不是一个选项。

    Solr有点复杂,但它是迄今为止最全面的搜索解决方案。把它混合起来 solrpy 以获得令人惊叹的结果。是的,您需要Java宿主。

    您也可以查看 python bindings for xapian . Xapian的速度非常快,但比Solr的解决方案要差得多。不过,它们是GPL许可证,因此可能/可能对您不可行。

        2
  •  1
  •   Manny    14 年前

    我使用过Lucene和Lucene扩展,比如Solr和Nutch,我发现Lucene基本上满足了我的需要。我只试过一次呼啸,但选择了露西,因为 1)我正在使用Java 2)我很难让utf-8和whoosh一起工作(现在还不确定它是否可以正常工作)。在Lucene,我可以轻松地使用汉字。

    如果您使用Python作为编程语言,WOHOSH满足您的需求,那么我建议您在Java替代品上使用它,以便更好地集成,避免外部依赖关系,如果您需要编写附加功能,则可以更快地进行定制。

    更新:如果您对使用Lucene感兴趣,它有一个python包装器:请参见 http://lucene.apache.org/pylucene/