在Lucene/Solr、Whoosh、Sphinx、Xapian中,哪个与Python集成最好?

8 投票
3 回答
3110 浏览
提问于 2025-04-16 21:42

我是一名新手程序员,在一家初创公司工作,现在我正在实现一个在网络主机上搜索目录中文档的功能。

我正在比较几个搜索工具:Lucene/Solr、Whoosh、Sphinx 和 Xapian。Whoosh 是原生支持 Python 的。不过我也想听听你们的看法。以下是我关注的几个方面:

  • 哪个工具的 Python 接口成熟、易用且容易安装?(Whoosh 这点很明显)
  • 哪个工具没有崩溃、瓶颈和其他故障的风险?
  • 哪个工具的文档最好?(我不想看 PHP 的文档,因为 Python 的文档比较少)
  • 哪个工具最容易上手?(只有一个工具有快速入门教程)

3 个回答

2

如果你想快速使用Python进行集成,可以试试indextank。你只需要2分钟就能开始使用,而且是免费的。

至于其他选择,我推荐Solr(前提是你想自己托管搜索服务器,或者注册websolr)。

声明:我在indextank工作。

2

如果你不太在乎速度和其他替代品的额外功能,可以选择Whoosh。它很好用,有一个友好的接口和不错的文档。如果让我选第二个,我可能会选Xapian,它速度快,接口也还不错。这些都是比较成熟的产品。如果你还不太确定自己需要什么,建议先用Whoosh吧。

2

关于Apache Solr,Python有几个Solr客户端,我根据我们在Websolr的客户反馈整理了这些:

  1. Haystack非常受欢迎,专为Django应用程序设计,能与Django无缝集成。如果你在开发Django应用,Haystack就是你的选择。
  2. Sunburnt看起来比Haystack更通用,而且文档也很完善。如果你在用普通的Python,Sunburnt值得一试。

我还发现了一些其他的Python Solr客户端,它们似乎功能更基础一些……

如果你能提供更多关于你的应用是怎么构建的细节(特别是它是否是Django应用),那会更有助于缩小选择范围。祝你找到最适合你应用的工具!

撰写回答