【问题标题】:Lightweight Search Indexing API/Lbrary轻量级搜索索引 API/库
【发布时间】:2010-09-10 13:46:26
【问题描述】:

我正在寻找一个开源搜索索引库。它将用于嵌入式 Web 应用程序,因此它应该具有较小的代码大小。最好用 C、C++ 或 PHP 编写,并且不需要安装任何数据库来存储索引。索引应该存储在文件中(例如,xml、txt)。我尝试查看一些著名的搜索库,例如 xapian 和 clucene,它们很好,但对于嵌入式系统来说代码量相对较大。

这将在 Linux 平台上运行,并将用于索引 HTML 文件。

对什么是好的搜索库/API 有什么想法吗?

谢谢。

【问题讨论】:

  • PHP?嵌入式?真的吗?当有人说“嵌入式”时,这不是我想到的第一种语言......
  • 您的代码在什么平台上运行(UNIX、Windows Mobile、Palm OS、iPhone OS,...)?您要索引哪种数据(大块文本、姓名列表……)?

标签: search indexing


【解决方案1】:

首先:您必须在某处存储索引。因此,除非您只需要内存索引,否则将需要一个数据文件。

要索引通用项目,我可以推荐你 sqlite:http://www.sqlite.org/。当我有一堆数据并且需要使用多个索引来处理它时,我什至会在仅内存模式下使用它。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      哦,伙计。有几个。按默默无闻的顺序...

      我敢肯定还有很多,但这些都是我想不到的。祝你好运:)

      【讨论】:

      • 雪貂+1。它类似于 Lucene,但用 C 编写(带有 ruby​​ 前端)并且速度更快
      【解决方案4】:

      这取决于您的要求。一个完整的 Lucene (Java) 发行版最多可以有 3MB JAR 文件,但实际上可以精简到 1MB 以下。 CLucene 在实践中可能要小得多。你需要走多低?...

      【讨论】:

      • 我们排除了 Lucene,因为我们的系统上没有 JRE。当我查看 CLucene 时,它​​大约有 20MB,尽管它仍然可以被剥离。它对我们的系统来说非常大。我认为我们最多可以达到 2MB。
      • 在那种情况下,恐怕我真的没有给你的建议,但我建议你将此信息添加到你的问题中以供将来参考。
      【解决方案5】:

      Swish-E 是用 C 语言编写的,可以做你想做的事。不需要数据库,使用自己的二进制索引文件格式。

      我也使用过ht://Dig,但该软件似乎已经很久没有维护了。

      两者都可以在 Linux 上编译并索引 HTML。

      第三个选项是SINO,由AustLII 使用。联系那里的团队以确保您获得最新版本。应该在Linux上编译没有太多麻烦。它并不是真正为嵌入式系统设计的(SINO 代表 Size Is No Object),但我上次查看时有一个不错的 API,而且相对较小(因此,它不是为它设计的,但可能也能正常工作)。针对 HTML。相当快的索引。我认为值得一看。 (披露:很久以前在那里工作过)

      最后,我们使用基于LuceneSolr。 Solr 使用基于将 XML 文档发布到服务器的简单 API。无论您使用什么语言,界面都非常简单。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-07
        • 2011-02-28
        • 1970-01-01
        • 1970-01-01
        • 2020-11-24
        • 1970-01-01
        • 2016-05-01
        • 2011-08-26
        相关资源
        最近更新 更多