全文检索:Whoosh Vs SOLR

时间:2010-07-12 07:33:57

标签: python django solr

我正在开发一个Django项目,我需要实现全文搜索。我见过SOLR并发现了一些好的评论。但是它在Java中实现并且需要将java环境与Python一起安装在系统上。寻找SOLR的python等价物,我见过Whoosh,但我不确定Whoosh是否像SOLR一样高效和强大。或者我应该只使用SOLR选项,还是有比Whoosh和SOLR更好的选项?

请建议。

提前致谢

2 个答案:

答案 0 :(得分:13)

对于仅限python的实现,飞快移动实际上非常快。也就是说,它仍然至少慢了一个数量级。根据您需要索引和搜索的数据量以及最大允许延迟和并发搜索的要求,它可能不是一个选项。

SOLR是一个复杂的野兽,但它是迄今为止最全面的搜索解决方案。将其与solrpy混合以获得惊人的效果。是的,你需要java托管。

您可能还想查看python bindings for xapian。 Xapian非常快,但不如SOLR完整解决方案。它们虽然是GPL许可证,因此可能/可能不适合您。

答案 1 :(得分:1)

我使用了像SOLR和Nutch这样的Lucene和Lucene扩展,我发现lucene几乎满足了我的需要。我曾经只尝试过Whoosh,但选择了Lucene因为 1)我正在使用Java 2)我无法使用Whoosh进行UTF-8工作(不确定它现在开箱即用)。在Lucene,我在处理汉字方面毫不费力。

如果您使用Python作为您的编程语言并且Whoosh满足您的需求,那么我建议您使用它替代Java备选方案以实现更好的集成,避免外部依赖,如果您需要编写其他功能,可以加快定制速度。

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