2008-09-18 80 views
2

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

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

有关什么是一个好的搜索库/ API的任何想法?

谢谢。

+0

PHP?嵌入式?真?当有人说“嵌入式”时,不是我想到的第一种语言.... – 2008-09-18 07:07:38

+0

您的代码运行在什么平台上(UNIX,Windows Mobile,Palm OS,iPhone OS,...)?索引什么样的数据(大块文本,名称列表......)? – benzado 2008-09-18 07:22:46

回答

0

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

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

2

哦,伙计。有几个。为了降默默无闻的...

我肯定还有更多的东西在那里,但这些是我已经脱离了米的顶部y头。祝你好运:)

+0

+1为Ferret。它就像Lucene一样,但用C语言编写(带有红宝石前端),速度更快 – zenazn 2009-01-01 20:46:45

0

这取决于你的要求。 Lucene(Java)的完整版本高达3MB的JAR文件,但在实践中可以被精简到1MB以下。 CLucene在实践中可能要小得多。你需要去多少?...

0

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

我也使用ht://Dig,但它看起来很长时间以来,该软件被维护。

两者都将在Linux和索引HTML上编译就好了。

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

最后,我们使用Solr这是基于Lucene。 Solr使用基于将XML文档发布到服务器的简单API。无论您使用哪种语言,接口都非常简单。