45

红宝石人有雪貂。有人知道 Python 有什么类似的倡议吗?我们目前正在使用 PyLucene,但我想研究转向纯 Python 搜索。

4

8 回答 8

44

Whoosh是一个类似于 lucene 的新项目,但是是纯 python。

于 2009-02-10T18:43:11.480 回答
6

我所知道的唯一一个纯 python(甚至不涉及 C 扩展)搜索解决方案是Nucular。它很慢(比 PyLucene 慢得多)并且还不稳定。

我们从基于 PyLucene 的家庭烘焙搜索和索引转移到Solr但 YMMV。

于 2009-01-13T10:01:09.827 回答
4

我最近发现了 pyndexter。它为各种不同的后端全文搜索引擎/索引器提供抽象接口。它附带一个默认的纯 python 实现。

尽管在 Python 中,这些事情可能会非常缓慢。

于 2009-01-13T15:31:45.027 回答
3

对于某些应用程序,纯 Python 被高估了。看看Xapian。

于 2009-01-13T16:46:45.420 回答
2

lupy是纯 python 的 lucene 端口。lupy 人建议您使用 PyLucene。对不起。也许您可以将 Java 源代码与Jython结合使用。

于 2009-01-13T09:07:56.390 回答
2

+1 Xapian 和 Pyndexter 的答案。

Ferret 实际上是用 C 语言编写的,顶部有 Ruby 绑定。纯 Ruby 搜索引擎甚至比纯 Python 搜索引擎还要慢。我希望看到“其他人”为 Ferret 的 Python 接口编写 Cython/Pyrex 层,但我自己不会这样做,因为当有用于 Xapian 的 Python 绑定时,为什么还要麻烦。

于 2009-02-07T00:44:56.070 回答
2

对于非纯 Python,使用 Python API 的Sphinx Search运行速度最快。从多个博客的基准测试来看,Sphinx Search 比 Lucene 快得多,使用的内存少得多,而且它是 C 语言。

我正在开发一个基于它的多文档搜索引擎,使用 python 和web2py作为框架。

于 2010-09-28T19:56:24.187 回答
1

经过数周的搜索,我找到了一个不错的 Python 解决方案:repoze.catalog。它不是严格意义上的 Python,因为它使用 ZODB 进行存储,但对我来说,它似乎比 SOLR 更好。

于 2009-02-06T18:47:09.863 回答