什么是开源搜索引擎工具包?如何添加索引与搜索能力

优采云 发布时间: 2021-06-18 19:10

  什么是开源搜索引擎工具包?如何添加索引与搜索能力

  开源搜索引擎工具包

  1. Lucene

  Lucene 是目前最流行的开源全文搜索引擎工具包。它属于 Apache 基金会。它由资深全文索引/检索专家 Doug Cutting 发起,并使用他妻子的中间名作为项目名称。 Lucene 并不是一个功能齐全的搜索应用,而是一个专注于文本索引和搜索的工具包,可以为应用添加索引和搜索功能。基于 Lucene 在索引和搜索方面的出色表现,虽然用 Java 编写的 Lucene 天生就是跨平台的,但它仍然适应了许多其他语言版本:Perl、Python、C++、.Net 等。

  与其他开源项目一样,Lucene 拥有非常好的架构,可以在其基础上轻松进行研究和开发,添加新功能或开发新系统。 Lucene 本身只支持几种语言的文本文件和索引,不具备爬虫功能。这就是Lucene的魅力所在。通过Lucene提供的丰富的接口,我们可以根据自己的需要为其添加特定的语言分词器。针对特定文档等的文本解析器,以及这些特定功能的实现可以借助一些现有的相关开源软件项目,甚至商业软件来完成,这也保证了Lucene专注于索引和搜索。目前,一些新的开源项目,如LIUS、Nutch等,也在Lucene的基础上加入爬虫和文本解析器形成。而Lucene的索引数据结构已经成为事实上的标准,被很多搜索引擎采用。

  2.刘

  LIUS 是 Lucene Index Update and Search 的缩写。它是一个基于Lucene开发的文本索引框架。和Lucene一样,也可以算是一个搜索引擎开发包。它在Lucene的基础上做了一些相应的研究,增加了一些新的功能。在众多开源软件的帮助下,LIUS 可以直接解析和索引各种格式/类型的文档。这些文档格式包括 MS Word、MS Excel、MS PowerPoing、RTF、PDF、XML、HTML、TXT、Open Office 和 JavaBeans 等,对 Java Beans 的支持对于数据库索引非常有用,当用户执行对象关系映射(如:Hibernate、JDO、TopLink、Torque 等)数据库连接编程。 LIUS还在Lucene的基础上增加了索引更新功能,进一步完善了索引维护功能。它还支持混合索引,可以将与某个条件相关的所有内容整合到同一目录中。当您需要同时索引多种不同格式的文档时,此功能非常有用。

  3. Egothor

  Egothor 是一款开源的高性能全文搜索引擎,适用于基于全文搜索功能的搜索应用。它有一个类似于Luccene的核心算法。这个项目已经存在多年,并且有一些活跃的开发者和用户社区。该项目的发起人 Leo Galambos 是捷克共和国布拉格查尔斯大学数学与物理学院的高级助理教授。他在博士期间发起了该项目。

  更多的时候,我们把Egothor看作是全文搜索引擎的Java库,可以为特定的应用程序添加全文搜索功能。它提供了一个扩展的布尔模块,使其可以作为布尔模块或向量模块使用,并且Egothor具有其他搜索引擎所没有的一些独特功能:它使用新的动态算法,有效提高索引更新速度,以及支持并行查询方式,可有效提高查询效率。在 Egothor 的发布中,增加了许多易用性增强的应用,如爬虫和文本解析器,并融入了 Golomb 和 Elias-Gamma 等多种高效压缩方法,对各种常用的文本进行了文本分析。支持使用的文档格式。如 HTML、PDF、PS、Microsoft Office 文档、XLS 等,提供 GUI 索引界面和 Applet 或基于 Web 的查询方法。此外,Egothor 可以轻松配置为独立的搜索引擎、元数据搜索器、点对点 HUB 等各种个性化应用系统。

  4.夏平

  Xapian 是基于 GPL 发布的搜索引擎开发库。它是用C++编写的,并提供了一个绑定包,可以让Perl、Python、PHP、Java、Tck、C#、Ruby等多种语言方便地使用。

  Xapian 也是一个适应性很强的工具集,它允许开发人员轻松地将高级索引和搜索功能添加到他们的应用程序中。支持信息检索的概率模型和丰富的布尔查询操作。 Xapian 的发布包通常由两部分组成:xapian-core 和 xapian-bindings。前者是核心主程序,后者是绑定其他语言的包。

  Xapian 为程序开发者提供了丰富的编程 API 和文档,同时还提供了许多编程示例和基于 Xapian 的应用程序 Omega。 Omega 由索引器和基于 CGI 的前端搜索组成。 HTML、PHP、PDF、PostScript、OpenOffice/StarOffice、RTF等格式的文档索引,甚至MySQL、PostgreSQL、SQLite、Sybase、MS SQL、LDAP、ODBC等关系数据库都可以使用Perl DBI模块进行索引。并且可以从前端导出CSV或XML格式的搜索结果,程序开发者可以在此基础上进行扩展。

  5.指南针

  Compass 是一种在 Lucene 上实现的开源搜索引擎架构。与Lucene相比,它提供了更简洁的搜索引擎API。增加了对索引事务处理的支持,更容易与数据库等事务处理应用程序集成。更新时无需删除原文档,更简单高效。资源和搜索引擎之间使用映射机制。这种机制使得已经使用 Lucene 或不支持对象和 XML 的应用程序可以很容易地迁移到 Compass 进行开发。

  Compass 还可以与 Hibernate、Spring 等架构集成,所以如果你想在 Hibernate、Spring 项目中添加搜索引擎功能,Compass 是一个很好的选择。

  开源网络搜索引擎系统

  1.纳奇

  Nutch 是 Lucene 的作者 Doug Cutting 发起的另一个开源项目。它是一个建立在 Lucene 之上的完整的 Web 搜索引擎系统。虽然它诞生的时间不长,但它有着优良的血统和简单方便的使用方式。广寿欢迎。我们可以使用 Nutch 构建一个类似于 Google 的完整搜索引擎系统,用于在局域网和互联网中进行搜索。

  2.亚西

  YaCy 是一个基于 P2P(peer-to-peer)的分布式开源 Web 搜索引擎系统,用 Java 语言编写,其核心是一个名为 YaCy-peer 的计算机分布在数百台计算机上的程序,基于P2P网络,构成了YaCy网络。整个网络是一个去中心化的结构,其中所有的 YaCy-peer 都处于点对点的位置。没有统一的中央服务器,每个YaCy-peer都可以独立访问Internet。爬取、分析并创建索引库,通过P2P网络与其他YaCy-peer共享,每个YaCy-peer都是一个独立的代理服务器,可以对本地用户使用的网页进行索引,并采取多种机制进行保护用户的隐私,用户也通过运行在机器上的网络服务器查询和返回查询结果。

  YaCy 搜索引擎主要由五个部分组成。除了常见搜索引擎具有的爬虫、索引器、反向排序索引库外,还包括非常丰富的搜索管理界面和数据共享P2P网络。

  开源桌面搜索引擎系统

  1.恢复

  regain 是一个类似于网络搜索引擎的桌面搜索引擎系统。不同之处在于重新获得不是搜索 Internet 内容,而是搜索您自己的文档或文件。 Regain 可以在几秒钟内轻松使用。完成大量数据(多G)内搜索。 Regain使用Lucene的搜索语法,所以支持多种查询方式,支持多索引搜索和基于文件类型的高级搜索,可以实现URL重写和文件到HTTP的桥接,还提供了很好的中文支持.

  Regain 提供两个版本:桌面搜索和服务器搜索。桌面搜索提供了在局域网环境中对普通台式计算机和网页上的文档的快速搜索。服务器版主要安装在web服务器上,用于在局域网环境下搜索网站和文件服务器。

  Regain 是用 Java 编写的,因此可以跨平台安装,可以安装在 Windows、Linux、Mac OS 和 Solaris 上。服务端版本需要JSPs环境和标签库(tag library),所以需要安装一个Tomcat容器。桌面版带有一个小型的网络服务器,非常容易安装。

  2.银联

  Zilverline 是一个基于 Lucene 的桌面搜索引擎,使用 Spring 框架,主要用于个人本地磁盘和局域网内容搜索,支持多种语言,并有自己的中文名称:银千查达引擎。 Zilverline 为丰富的文档格式提供索引支持,例如 Microsoft Office 文档、RTF、Java、CHM 等,甚至可以索引和搜索存档文件,例如 zip、rar 等存档文件。在索引过程中,Zilverline 会从 zip、Rar、chm 等存档文件中下载解压文件进行索引。 Zilverline 可以支持增量索引,只索引新文件,也支持常规自动索引。它的索引库可以存储在 Zilverline 可以访问的地方,甚至可以存储在 DVD 中。同时Zilverline还支持文件路径到URL的映射,方便用户远程搜索本地文件。

  Zilverline 为个人、研究和商业应用程序提供两种许可方法。它的发布形式是一个简单的war包,可以到它的官方网站()下载。 Zilverline的运行环境需要Java环境和Servlet容器,一般使用Tomcat即可。确保JDK和Tomcat容器安装正确后,只需将Zilverline war包(zilverline-1.5.0.war)复制到Tomcat webapps目录下,重启Tomcat容器即可开始使用Zilverline搜索引擎

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线