13

我有一个需要启用搜索的大型设置文件 (hdf)。对于 Java,我会使用 Lucene,因为它是一个文件和文档索引引擎。我不知道python等价物是什么。

谁能推荐我应该使用哪个库来索引大量文件以进行快速搜索?或者是自己滚动的首选方式?

我看过pylucenelupy,但是这两个项目似乎相当不活跃且不受支持,所以我不确定是否应该依赖它们。

最后说明: Woosh 和 pylucene 看起来很有希望,但是 woosh 仍然是 alpha,所以我不确定我是否要依赖它,而且我在编译 pylucene 时遇到了问题,并且没有实际的发布。在我查看了更多数据之后,它主要是数字和默认文本字符串,所以现在关闭索引引擎对我没有帮助。希望这些库能够稳定下来,以后的访问者会发现它们有一些用处。

4

5 回答 5

9

Lupy已经退役,开发人员推荐使用 PyLucene。至于 PyLucene,它的邮件列表活跃度可能很低,但绝对支持。事实上,它最近才成为官方的 apache 子项目

您可能还想看看一个新的竞争者: 嗖嗖声。它类似于 lucene,但在纯 python 中实现。

于 2009-02-10T18:51:31.697 回答
5

我以前没有做过索引,但是以下可能会有所帮助:-

  1. pyIndex - http://rgaucher.info/beta/pyIndex/ -- Python 的文件索引库
  2. http://www.xml.com/pub/a/ws/2003/05/13/email.html -- 这是一个使用 Python 和 Lucene 搜索 Outlook 电子邮件的脚本
  3. http://gadfly.sourceforge.net/ - Aaron water 的 gadfly 数据库(我想你可以用这个来做索引。我自己没用过。)

就使用 HDF 文件而言,我听说过一个名为 h5py 的模块。

我希望这有帮助。

于 2009-02-10T13:42:54.683 回答
4

我建议Sphinx。它非常活跃,具有更多功能,而且看起来比 Lucene 更快。

于 2009-02-10T13:57:01.623 回答
2

Xapian http://xapian.org/是一个经常与 Python 一起使用的流行的基于 C++ 的信息检索库

它非常快并且可以愉快地管理大量数据,但是它不像 Lucene 那样容易扩展。

于 2009-04-20T21:08:59.653 回答
0

Elasticsearch 可用于索引文档和按关键字搜索
Elasticsearch 也可以与 graph db 和 hadoop 集成一些网址如下:
1)https://www.elastic.co/products/elasticsearch
2)https://towardsdatascience。 com/getting-started-with-elasticsearch-in-python-c3598e718380

于 2019-04-06T06:52:51.807 回答