推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

大家好,我是有站小哥。

所谓搜索引擎,就是根据用户需求与一定算法,运用特定策略从互联网检索出指定信息反馈给用户的一门检索技术。搜索引擎依托于多种技术,如网络爬虫技术、检索排序技术、网页处理技术、大数据处理技术、自然语言处理技术等,为信息检索用户提供快速、高相关性的信息服务。

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

互联网发展早期,以雅虎为代表的网站分类目录查询非常流行。网站分类目录由人工整理维护,精选互联网上的优秀网站,并简要描述,分类放置到不同目录下。用户查询时,通过一层层的点击来查找自己想找的网站。也有人把这种基于目录的检索服务网站称为搜索引擎,但从严格意义上讲,它并不是搜索引擎。

未来搜索引擎发展趋势是:社会化搜索、实时搜索、移动搜索、个性化搜索、地理位置感知搜索、跨语言搜索、多媒体搜索、情境搜索等等。

借此机会,今天小编又给大家收集了13个开源免费的搜索引擎项目,无论是企业自建,还是解决方案提供商,或者学习借鉴、接私活创业赚钱,这些开源免费的搜索引擎项目都是很好的参考项目。

全文大纲

  1. easy-es – 国内顶尖elasticsearch搜索引擎框架
  2. kooder – 是 Gitee 团队开发的一个代码搜索系统
  3. springboot-solr – 搭建的企业级搜索平台
  4. Spring-elastic_search – Elasticsearch数据搜索与分析实战
  5. TextLocator – 基于.net实现的本地文档的全文索引定位器
  6. slimego – 一款专门服务于各行业学习爱好群体查阅资料的信息
  7. spring-boot-elasticsearch – ES全文搜索引擎,基于Elasticsearch构建网站日志处理系统
  8. eSearch – 截屏OCR搜索翻译以图搜图贴图录屏
  9. ytds – 一款文档内全文搜索工具
  10. bboss-elastic – 通用高性能Elasticsearch highlevel java rest client 客户端
  11. gofound – 是一个golang实现的全文检索引擎
  12. jFileSearch – 文档在线检索预览系统
  13. OneBaidu – 基于OneBase研发的仿真百度

easy-es – 国内顶尖elasticsearch搜索引擎框架

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

Easy-Es(简称EE)是一款基于ElasticSearch(简称Es)官方提供的RestHighLevelClient打造的ORM开发框架,在 RestHighLevelClient 的基础上,只做增强不做改变,为简化开发、提高效率而生,您如果有用过Mybatis-Plus(简称MP),那么您基本可以零学习成本直接上手EE,EE是MP的Es平替版,在有些方面甚至比MP更简单,同时也融入了更多Es独有的功能,助力您快速实现各种场景的开发.

优势

  • 全自动索引托管: 全球开源首创的索引托管模式,开发者无需关心索引的创建更新及数据迁移等繁琐步骤,索引全生命周期皆可托管给框架,由框架自动完成,开程零停机,用户无感知,彻底解放开发者
  • 智能字段类型推断: 根据索引类型和当前查询类型上下文综合智能判断当前查询是否需要拼接.keyword后缀,减少小白误用的可能
  • 屏蔽语言差异: 开发者只需要会MySQL语法即可使用Es,真正做到一通百通,无需学习枯燥易忘的Es语法,Es使用相对MySQL较低频,学了长期不用也会忘,没必要浪费这时间.开发就应该专注于业务,省下的时间去撸铁,去陪女朋友陪家人,不做资本家的韭菜
  • 代码量极少: 与直接使用RestHighLevelClient相比,相同的查询平均可以节省3-80倍左右的代码量
  • 零魔法值: 字段名称直接从实体中获取,无需输入字段名称字符串这种魔法值,提高代码可读性,杜绝因字段名称修改而代码漏改带来的Bug
  • 零额外学习成本: 开发者只要会国内最受欢迎的Mybatis-Plus语法,即可无缝迁移至EE,EE采用和前者相同的语法,消除使用者额外学习成本,直接上手,爽
  • 降低开发者门槛: Es通常需要中高级开发者才能驾驭,但通过接入EE,即便是只了解ES基础的初学者也可以轻松驾驭ES完成绝大多数需求的开发,可以提高人员利用率,降低企业成本

#特性

  • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
  • 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
  • 强大的 CRUD 操作:内置通用 Mapper,仅仅通过少量配置即可实现大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
  • 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错段
  • 支持主键自动生成:支持2 种主键策略,可自由配置,完美解决主键问题
  • 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
  • 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
  • 内置分页插件:基于RestHighLevelClient 物理分页,开发者无需关心具体操作,且无需额外配置插件,写分页等同于普通 List 查询,且保持和PageHelper插件同样的分页返回字段,无需担心命名影响
  • MySQL功能全覆盖:MySQL中支持的功能通过EE都可以轻松实现
  • 支持ES高阶语法:支持高亮搜索,分词查询,权重查询,Geo地理位置查询,IP查询,聚合查询等高阶语法
  • 良好的拓展性:底层仍使用RestHighLevelClient,可保持其拓展性,开发者在使用EE的同时,仍可使用RestHighLevelClient的功能

框架架构

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

kooder – 是 Gitee 团队开发的一个代码搜索系统

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

一个企业里往往有大量的项目,每个项目都包含很多的代码,这些代码都是企业的核心资产。 经过日积月累,不同的开发人员不断的修改完善,企业中很难有人能掌握所有的代码。 于是企业全库的代码搜索就变得非常重要。

例如我们可以搜索公司代码是否包含某类敏感信息,是否使用了某些不安全的方法等等。

Kooder 是什么

Kooder 是一个开源的代码搜索工具,目标是为包括 Gitee/GitLab/Gitea 在内的代码托管系统提供 自动的源码、仓库和 Issue 的搜索服务。

Kooder 架构

Kooder 服务包含两个模块,分别是 gateway 和 indexer(默认配置下 indexer 被集成到 gateway 中)。 其中 gateway 用来接受来自 HTTP 的索引任务, 对任务进行检查后存放到队列中; 同时 gateway 还接受搜索的请求,并返回搜索结果给客户端。而 indexer 进程负责监控队列中的索引任务, 并将这些要新增、删除和修改索引的任务更新到索引库中。

模块说明

  • core 核心对象和公共类
  • gateway 用来接收来自 HTTP 的索引和搜索的请求
  • indexer 构建、更新和删除索引的服务

数据流图

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

搜索效果

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

springboot-solr – 搭建的企业级搜索平台

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

Springboot2.1+Solr7.5搭建的企业级搜索平台,项目目前支持文档内容和数据库检索,已经集成分词技术。支持文档内容检索类型包含:pdf、doc、docx、ppt、pptx、txt、log等
数据库已支持MySQL增量自动建立索引

软件架构

软件架构说明

  1. SpringBoot2.1
  2. Solr7.5
  3. thymeleaf
  4. webflux

项目分为两个应用,其中search已经集成tomcat、Solr已经集成jetty

系统截图

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

Spring-elastic_search – Elasticsearch数据搜索与分析实战

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

本仓库是图书《Elasticsearch数据搜索与分析实战》的配套源码

  • 第1章:快速入门
  • 第2章:深入原理
  • 第3章:索引数据
  • 第4章:文本分析
  • 第5章:搜索数据
  • 第6章:聚集统计
  • 第7章:父子关联
  • 第8章:Java 高级客户端编程
  • 第9章:集群扩展和性能优化
  • 第10章 Logstash:数据的源泉
  • 第11章 Kibana:数据可视化利器
  • 第12章 Beats 家族:精细化数据采集

TextLocator – 基于.net实现的本地文档的全文索引定位器

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

基于.net实现的本地文档的全文索引定位器,根据关键词搜索定位本地文档内容。便于查找历史文档时节省时间,本地文本搜索神器!

软件架构

本地单机软件。

  • WPF实现的UI(RubyerUI组件)
  • Lucene.Net实现的索引(Jieba.NET分词器)
  • NetOffice、OpenXML、NPOI、Spire实现的文档内容解析

功能介绍

  • 自动分词:数据库表结构 -> 数据库表结构,数据,库表,结构;默认组合为OR(勾选匹配全词后条件组合AND)
  • 手动分词:数据库 表 结构 -> 数据库,表,结构(空格作为分隔符)
  • 文件类型:筛选不同类型的文件
  • 仅文件名:关键词不匹配文档内容,只匹配文件名
  • 排序规则:默认排序、时间(远|近)、文件(大|小)
  • 列表分页:仅有一页时不显示分页标签,有多页时显示分页标签
  • 内容预览:右侧内容预览区可以复制;剪切和粘贴不影响源文件(默认菜单后期优化仅保留复制)
  • 预览搜索:预览区顶部搜索框可再次搜索

系统截图

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

slimego – 一款专门服务于各行业学习爱好群体查阅资料的信息

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

史莱姆搜索是一款专门服务于各行业学习爱好群体查阅资料的信息分类app,目的是方便用户搜寻各类学习教程和行业资料。 正是基于这个目的,现本人也将这款完整的app开源,希望对从事移动端跨平台开发的小伙伴有所帮助。

该app采用react native + redux技术开发,可一份代码编译出android和iOS两份app,提高开发效率。

系统截图

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

spring-boot-elasticsearch – ES全文搜索引擎,基于Elasticsearch构建网站日志处理系统

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

其实做这个Demo的目的是如何基于Elasticsearch构建网站日志处理系统,通过数据同步工具等一系列开源组件来快速构建一个日志处理系统,项目雏形初步成型中。

开发环境

JDK1.8、Maven、Eclipse、SpringBoot1.5.9、elasticsearch2.4.6、Dubbo2.6.2、zookeeper3.4.13、Redis、kafka、Vue、Iview

eSearch – 截屏OCR搜索翻译以图搜图贴图录屏

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

eSearch 是Information-portal的:electron:重写版(顺便加了一些功能)

主要是想在 Linux 上(win 和 mac 上也能用)实现锤子大爆炸或小米传送门这样的屏幕搜索功能,当然也是一款方便的截屏软件

经过数次版本迭代,eSearch 的功能愈加丰富

即拥有 截屏+OCR+搜索+翻译+贴图+以图搜图+录屏

功能

已经勾选的功能是开发过程最新功能,但可能还没发布在最新版本

  • 截屏 框选裁切 框选大小位置可调整(支持方向键或 WASD) 框选大小栏可输入四则运算式调整 取色器 放大镜 画笔(自由画笔) 几何形状(边框填充支持调节) 高级画板设置(使用 Fabric.js 的 api) 图像滤镜(支持局部马赛克模糊和色彩调节) 自定义框选松开后的操作 快速截取全屏到剪贴板或自定义的目录 截屏历史记录 窗口和控件选择(使用 OpenCV 边缘识别) 长截屏 多屏幕
  • 录屏 录制全屏 自定义大小 按键提示 光标位置提示 录制栏 流写入 录音 录制摄像头 自定义比特率
  • 保存(可选保存为 SVG 可编辑文件)
  • 其他应用打开
  • 复制到剪贴板
  • 钉在屏幕上 滚轮缩放 恢复默认大小位置 透明度 鼠标穿透
  • 二维码识别
  • OCR 识别 离线 OCR(eSearch-OCR) 自定义离线 OCR 模型和字典 其他在线 OCR 在线公式识别 支持自己申请秘钥 表格识别
  • 以图搜图
  • 托盘
  • 划词句来搜索
  • 识别展示 自动搜索翻译 搜索 翻译 自定义搜索翻译引擎 自定义搜索翻译引擎(POST 模式,可用 Api) 软件自带浏览器打开 跟随关闭、失焦关闭 系统浏览器打开 链接识别 历史记录 自动删除换行(用于自动排版) 查找替换(支持正则匹配) 其他编辑器编辑(支持自动重载) 行号 拼写检查
  • Wayland 桌面

系统截图

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

ytds – 一款文档内全文搜索工具

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

云图文档搜索,一款文档内全文搜索工具,上传pdf,word,excel,ppt等文件,通过tika解析文本内容。使用elasticsearch索引文档内容,调用elasticsearch的api实现文档的全文搜索。使用LibreOffice将文档转换成pdf实现在线预览功能。同时包含个人文档统计,管理等功能,每个人上传的文档都是以个人账户为基本单位相互隔离的,是隐私安全可靠的。

功能介绍

  • 用户登录,用户邮箱注册
  • 文档全文搜索,全文搜索和数据库like查找是完全不一样的概念,请勿混淆。同时支持多种条件组合搜索,时间范围,文档类型,文档大小等条件
  • 文档上传,支持word文档,pdf文档,excel文档,ppt文档,txt文档
  • 支持从印象笔记的导出enex文件导入到文档库中搜索
  • 我的文档,管理和删除文档,统计文档类型
  • 可在线预览几乎所有上传的文档,包括从印象笔记导入的文档,原理是使用libreoffice转换成pdf,使用pdf.js实现在线预览
  • 提供原文档下载

系统截图

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

bboss-elastic – 通用高性能Elasticsearch highlevel java rest client 客户端

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

介绍

ES小白分分钟上手,功能丰富,涵盖Elasticsearch所有功能,自动索引托管,多种分页机制,傻瓜级CRUD,脚本,sql,jdbc,高亮,权重,聚合,IP,GEO地理位置,父子嵌套,应有尽有

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

主要功能特色

学习成本低,上手快,代码简洁,安全高效,客户端负载容灾,兼容性好,易于集成

  • ORM和DSL二者兼顾,类mybatis方式操作ElasticSearch,提供丰富的开发API和开发Demo
  • 采用XML文件配置和管理检索dsl脚本,简洁而直观;提供丰富的逻辑判断语法,在dsl脚本中可以使用变量、脚本片段、foreach循环、逻辑判断、注释;基于可扩展DSL配置管理机制可以非常方便地实现数据库、redis等方式管理dsl;配置管理的dsl语句支持在线修改、自动热加载,开发和调试非常方便
  • 提供Elasticsearch集群节点自动负载均衡和容灾恢复机制,Elasticsearch节点断连恢复后可自动重连,高效可靠
  • 提供Elasticsearch集群节点自动发现机制:自动发现Elasticsearch服务端节点增加和下线操作并变更客户端集群可用节点地址清单
  • 提供http 连接池管理功能,提供精细化的http连接池参数配置管理
  • 支持在应用中访问和操作多个Elasticsearch集群,每个Elasticsearch集群的版本可以不同
  • 支持基于X-Pack和searchguard两种安全认证机制
  • 支持Elasticsearch-SQL-ORM和Elasticsearch-JDBC
  • 提供高效的BulkProcessor处理机制
  • 提供按时间日期ES历史数据清理工具

典型应用场景

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

数据采集同步ETL以及流批一体化计算框架

数据采集ETL

gofound – 是一个golang实现的全文检索引擎

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

GoFound 是一个golang实现的全文检索引擎 基于平衡二叉树+正排索引、倒排索引实现 可支持亿级数据,毫秒级查询。 使用简单,使用http接口,任何系统都可以使用。

系统截图

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

jFileSearch – 文档在线检索预览系统

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

该项目是基于java的文档检索系统,支持office,txt,pdf等文件的主流办公文件的全文检索,以及在线展示,一处维护处处查看。应对的是某些企业文档较多,查找文档困难以及文档共享内容延迟的情况,解决个人文档版本内容不一致等问题;

系统有三级过滤

  • 第一级文件夹过滤:只查找想查找的目录
  • 第二级文档库全文检索过滤: 通过检索文档内容对内容进行一次过滤
  • 第三级前端二次过滤: 检索结果太多,前端二次过滤
    通过以上三级过滤精准命中目标文档,前后端精心优化,一次性加载10万个节点可稳定检索,经测试文件名过滤速度比windows快很多倍;

系统截图

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

OneBaidu – 基于OneBase研发的仿真百度

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

介绍

这是基于OneBase研发的仿真百度。。并且可以后台管理百度搜索数据

系统截图

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

推荐13个开源免费的搜索引擎项目,为内容检索提供解决方案

 

最后

一行代码,可能会创造出下一个让人惊叹的产品;
一个创新,可能会开启一个全新的科技时代;
一份初心,可能会影响到无数人的生活;
无论是在大公司工作,还是在小团队奋斗;
无论是资深的程序员,还是刚刚入行的新手;
每个人的代码,都有力量改变世界。