红宝石人有雪貂。有人知道 Python 有什么类似的倡议吗?我们目前正在使用 PyLucene,但我想研究转向纯 Python 搜索。
8 回答
Whoosh是一个类似于 lucene 的新项目,但是是纯 python。
我最近发现了 pyndexter。它为各种不同的后端全文搜索引擎/索引器提供抽象接口。它附带一个默认的纯 python 实现。
尽管在 Python 中,这些事情可能会非常缓慢。
对于某些应用程序,纯 Python 被高估了。看看Xapian。
lupy是纯 python 的 lucene 端口。lupy 人建议您使用 PyLucene。对不起。也许您可以将 Java 源代码与Jython结合使用。
+1 Xapian 和 Pyndexter 的答案。
Ferret 实际上是用 C 语言编写的,顶部有 Ruby 绑定。纯 Ruby 搜索引擎甚至比纯 Python 搜索引擎还要慢。我希望看到“其他人”为 Ferret 的 Python 接口编写 Cython/Pyrex 层,但我自己不会这样做,因为当有用于 Xapian 的 Python 绑定时,为什么还要麻烦。
对于非纯 Python,使用 Python API 的Sphinx Search运行速度最快。从多个博客的基准测试来看,Sphinx Search 比 Lucene 快得多,使用的内存少得多,而且它是 C 语言。
我正在开发一个基于它的多文档搜索引擎,使用 python 和web2py作为框架。
经过数周的搜索,我找到了一个不错的 Python 解决方案:repoze.catalog。它不是严格意义上的 Python,因为它使用 ZODB 进行存储,但对我来说,它似乎比 SOLR 更好。