有没有适用于Python的开放搜索解决方案?

3
是首选。 谢谢。
6个回答

12

您还可以检查ElasticSearch,它具有本地JSON接口,因此在Python中集成应该更简单。看起来Simon Willison认为它具备潜力...


我看了一下Solr和PyLucene。ElasticSearch似乎是我唯一可以使用lucene和Python的选项,它具有简单的设置且没有繁琐的细节。不幸的是,Whoosh对我来说不是一个选项,因为我需要一些目前仅由lucene支持的功能。 - amit kumar

10

为什么要使用类似于Lucene的工具,而不直接使用Lucene(PyLucene)呢?

http://lucene.apache.org/pylucene/

PyLucene非常好用,并且可以与最新版本的Lucene进行集成。

以下是网站上的引用:

PyLucene是一个Python扩展程序,用于访问Java Lucene,目的是使您能够从Python中使用Lucene的文本索引和搜索功能。它与最新版本的Java Lucene(截至2009年10月13日的2.9.0版)兼容。

PyLucene不是Lucene的移植版,而是Java Lucene的Python包装器。PyLucene在Python进程中嵌入了带有Lucene的Java虚拟机。PyLucene Python扩展名为“lucene”的Python模块由JCC自动生成。

PyLucene是使用JCC构建的,JCC是一个C++代码生成器,可以通过Java的本地调用接口(JNI)从Python中调用Java类。PyLucene源码中包含了JCC的源代码。


感谢您的回复。PyLucene不是Lucene的移植版本,而是Java Lucene的Python封装。PyLucene将带有Lucene的Java虚拟机嵌入到Python进程中。可能会存在一些性能问题吗?我会尝试一下。 - scalarize
我已经使用过它,没有性能问题,但这取决于你的期望。我们能够轻松地每秒索引1000个文档。 - Anurag Uniyal

3

请参考SolPythonsolrpy

什么是solrpy?

solrpy是用于solr的python客户端,solr是基于lucene构建的企业搜索服务器。solrpy允许您向solr实例添加文档,然后使用您喜欢的编程语言(如python)执行查询并从solr收集搜索结果。


1

0
Sphinx怎么样?http://www.sphinxsearch.com/ 它包含了Python绑定。我没有和Lucene等其他解决方案进行比较,但是我在CRM中使用Sphinx非常好用,可以索引电子邮件、笔记等。

0

Xapian 是一个很好的 Lucene 替代品,有相当不错的 Python 绑定,并且安装比 pylucene 更容易。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接