十大开源免费的文档搜索引擎

2021年08月11日 113      本文共2578字,预计阅读时间8分钟

当你使用搜索引擎寻找最近的咖啡店时,你可能没有考虑到它背后的技术。但稍后,你可能会想知道搜索引擎是怎么做到的?

它是如何如此迅速地在整个互联网上分类并选择你在页面上看到的结果的?

每个搜索引擎都使用自己的软件程序,但它们的工作原理都很相似。

它们都执行三个基本任务。首先,他们检查他们了解的内容,并得到许可查看,这就叫做爬行。其次,他们对每一个内容进行分类,这叫做索引。第三,他们决定哪些内容对搜索者最有用,这就是所谓的排名。

文档搜索引擎对于大量数据集非常有用。由于很难从这么多的数据集中获得任何有用的信息,因此有必要提出一个解决方案,既能帮助业务需求,也能在短期内帮助业务需求。

文档搜索引擎的主要特性

  1. 搜索:关键词搜索,主题搜索,语义搜索
  2. 关键词提取等。
  3. 文本摘要。
  4. 突出显示查询结果。
  5. 文档分类。
  6. 反馈学习/查询重排序。

十大开源文档搜索引擎

1. Ambar

Ambar

开源文档搜索引擎,以及在您的工作流程中实现全文文档搜索的方法。Ambar自带自动爬行、OCR、标签和即时全文搜索。基于类似于JavaScript、Python、CSS的开放技术。

此文档搜索引擎兼容所有常见的文件类型,如ZIP档案、邮件档案(PST)、MS Office文档(Word、Excel、PowerPoint、Visio、Publisher)、图像OCR、带附件的电子邮件消息、Adobe PDF(带OCR)和其他一些文件。它是在麻省理工学院许可下使用的。

特点:

  • 在您的文档和图像内容中执行类似google的搜索
  • 给你的文件加上标签,这样你就能很容易地找到你需要的东西
  • Ambar支持所有流行的文档格式
  • Ambar对您的图像和pdf文件执行OCR
  • 使用一个docker-compose文件轻松部署Ambar
  • 使用一个简单的REST API将Ambar集成到您的工作流中

GitHub: https://github.com/RD17/ambar

2. Cider

Cider文档搜索引擎是我们列表中有价值的补充之一。

该程序是用Java编写的,这个内容集成框架可以将已解析的实体存储到Jena (http://jena.sourceforge.net/) RDF词汇表中,并提供基于知识的增强内容语义分析。它是文档提取和检索。而且,它是在LGPL-3.0许可下发布的。

GitHub: https://github.com/yacy/cider

另一个Dockerfile,基于javascript的开源文档搜索引擎;开放语义搜索支持不同的文件格式,多种数据源。开放语义搜索最好的一点是,它是为你自己的搜索引擎提供的免费软件,它是开源企业搜索和关联数据、语义网和关联开放数据集成的开放标准。

特点:

  • 全文搜索
  • 同义词库和语法(语义搜索)
  • 交互式过滤器(面向方面的搜索)
  • 探索、浏览和预览(探索性搜索)
  • 协作注释和标签(社交搜索和协作过滤)
  • 数据可视化
  • 监控:警报和监视列表(新闻提要)
  • 文本自动识别

GitHub: https://github.com/opensemanticsearch/open-semantic-search

4. IResearch

一个面向性能文档的搜索引擎库,IResearch是一个完全用c++编写的跨平台库。它关注的是不同排序/相似性模型的可插拔性。

这个软件是在Apache 2.0软件许可下提供的。

特点:

  • 它有一个被视为独立索引的库
  • 索引数据是按每个版本/每个修订处理的
  • 它允许对索引进行简单的多线程读/写操作
  • 数据库记录表示为一个称为文档的抽象。文档实际上是索引/存储字段的集合。

GitHub: https://github.com/iresearch-toolkit/iresearch

5. hOOt

hOOt是一个免费的、最小的全文搜索引擎。这款软件从头开始使用倒WAH位图咆哮位图索引,高度紧凑的存储,在数据库和文档模式下操作。

特点:

  • 极高的运行速度(见性能测试部分)
  • 代码非常小。
  • 使用WAH压缩位数组存储信息。
  • 多线程实现,这意味着你可以在索引时进行查询。
  • 高度优化的存储,通常比lucene.net小60%(索引越多,差异越大)。
  • 很小,只有38kb的DLL (lucene.net是~300kb)。

GitHub: https://github.com/mgholam/hOOt

6. Perlin

Perlin是一个建立在Perlin-core之上的免费文档搜索引擎。这个软件是用Rust写的。它是在麻省理工学院许可下发布的。

GitHub: https://github.com/CurrySoftware/perlin

7. MetaFinder

MetaFinder是一个开源文档搜索引擎,可以轻松下载免费使用。可在多个平台上使用,您将不必担心您正在使用的平台。目标是提取元数据。

MetaFinder是用Python编写的,并在GPL-3.0许可下获得许可。

GitHub: https://github.com/Josue87/MetaFinder

8. search-engine

search-engine是您可以选择的另一个高度创新的文档搜索引擎。

search-engine是用Ruby, Python, JavaScript编写的。使用PostgreSQL, config.json。

GitHub: https://github.com/chihsuan/search-engine

9. Let’s CC

咱们CC

Let’s CC有专业版和社区版两种版本,是另一种你可以使用的免费搜索引擎服务。社区版是在CCL(知识共享许可协议)下发布的,可以完全免费下载。它是用PHP编写的。

GitHub: https://github.com/neomparam/letscc

10. Intelligent_Document_Finder

您可以使用的文档搜索引擎工具。该软件使用Python编程,在Flask框架上工作。它是在MIIT许可下使用的。

GitHub: https://github.com/Sarthakjain1206/Intelligent_Document_Finder

结论

由于开源解决方案的存在,这样的服务并不需要花费大量的资金。我们回顾了十种常见的开源文档搜索引擎,它们都可供你选择。

如果你想在这个列表中看到其他的软件,那么我们很乐意在评论中听到它们。