java go c++ 开源全文搜索引擎

Apache Lucene Java 全文搜索框架

许可证:Apache-2.0 开发语言:Java 官网:https://lucene.apache.org/ Apache Lucene 是完全用 Java 编写的高性能、功能齐全的全文检索引擎架构,提供了完整的查询引擎和索引引擎、部分文本分析引擎。目的是为软件开发人员提供一个简单易用的工具包,以方便地在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

Apache Lucene Java 全文搜索框架

Apache Solr 全文搜索服务器

许可证:Apache-2.0 开发语言:Java 官网:https://solr.apache.org/ Apache Solr 是基于 Lucene 的全文搜索服务器,也是最流行的企业级搜索引擎,其主要功能包括全文检索、命中高亮、分面搜索、动态聚类、数据库集成,以及对富文本(如 Word、PDF)的处理。Solr 高度可扩展,并提供了分布式搜索和索引复制,Solr 4 还增加了 NoSQL 支持。

Apache Solr 全文搜索服务器

Elasticsearch 分布式搜索引擎

许可证:Apache-2.0 开发语言:Java 官网:https://www.elastic.co/cn/elasticsearch/ Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,Elasticsearch 会集中存储你的数据,让你飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。

Elasticsearch 分布式搜索引擎

Nutch 搜索引擎

许可证:Apache-2.0 开发语言:Java 官网:https://nutch.apache.org/ Nutch 是一个开源 Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和 Web 爬虫。 Nutch 的创始人是 Doug Cutting,他同时也是 Lucene、Hadoop 和 Avro 开源项目的创始人。

Nutch 搜索引擎

RediSearch 高性能全文搜索引擎

许可证:AGPL 开发语言:C/C++ 官网:https://redis.io/docs/stack/search/ RediSearch 是一个高性能的全文搜索引擎,可作为一个 Redis Module 运行在 Redis 上,是由 RedisLabs 团队开发的。 实现了Redis的查询、二级索引和全文搜索。这些功能在文本查询的基础上实现了多字段查询、聚合、精确短语匹配、数字过滤、地理过滤和矢量相似性语义搜索。

RediSearch 高性能全文搜索引擎

Sphinx Search 全文搜索引擎

许可证:GPL 开发语言:C/C++ 官网:http://sphinxsearch.com/ Sphinx 是一个开源的全文搜索服务器,从头开始设计时就考虑到了性能、相关性(又名搜索质量)和集成的简单性。它是用 C++ 编写的,适用于 Linux(RedHat、Ubuntu 等)、Windows、MacOS、Solaris、FreeBSD 和其他一些系统。 Sphinx 让你可以快速轻松地批量索引和搜索存储在 SQL 数据库、NoSQL 存储或文件中的数据,或者即时索引和搜索数据,使用 Sphinx 就像使用数据库服务器一样。各种文本处理功能可以根据你的特定应用程序要求微调 Sphinx,并且许多相关功能确保你也可以调整搜索质量。

Sphinx Search 全文搜索引擎

ftserver 轻量精准全文搜索服务器

开发语言:Java FTServer (FTS) 是一个轻量精准全文搜索服务器,使用英文规则处理英文,使用中文规则处理中文,不需要切割中文为单词,可以支持中文字的任意排列,精准搜索中文长句子,轻松处理古文古诗词,写意句子不影响搜索,不依赖词库,搜索中文不漏词。非常容易按需定制,直接编译就可以使用,无需额外配置,同时可以嵌入到各种应用内部。

Xapian C++检索引擎

许可证:GPL 开发语言:C/C++ 官网:https://xapian.org/ Xapian 是一个用 C++ 编写的全文检索程序,他的作用类似于 Java 的 lucene。尽管在 Java 世界 lucene 已经是标准的全文检索程序,但是 C/C++ 世界并没有相应的工具,而 Xapian 则填补了这个缺憾。 Xapian 是一个高度适应性的工具包,它允许开发人员轻松地将高级索引和搜索工具添加到他们自己的应用程序中。它内置支持多个权重模型系列,还支持一组丰富的布尔查询运算符。

Xapian C++检索引擎

Hibernate Search Hibernate搜索框架

许可证:LGPL 开发语言:Java 官网:https://hibernate.org/search/ Hibernate Search 的作用是对数据库中的数据进行检索的。它是 hibernate 对著名的全文检索系统 Lucene 的一个集成方案,作用在于对数据表中某些内容庞大的字段(如声明为 text 的字段)建立全文索引,这样通过 hibernate search 就可以对这些字段进行全文检索后获得相应的 POJO,从而加快了对内容庞大字段进行模糊搜索的速度(sql 语句中 like 匹配)。 Hibernate Search 自动从 Hibernate ORM 实体中提取数据,以将其推送到本地 Apache Lucene 索引或远程 Elasticsearch 索引。

Hibernate Search Hibernate搜索框架

MeiliSearch 轻量搜索引擎

许可证:MIT 开发语言:Rust 官网:https://www.meilisearch.com/ Meilisearch 是 Rust 实现的高性能开源搜索引擎,支持方便地集成到任何网站或应用程序,支持自托管 (self-hosting),可作为 Algolia 和 Elasticsearch 的轻量替代方案。Meilisearch 内置了许多实用功能,比如: 快速的输入即搜索 (search-as-you-type) 体验,也称作 “即时搜索” 支持冗错 / 纠错搜索 (typo tolerance) 支持多面搜索 (faceted search) 支持基于地理位置的搜索 (geosearch) 支持多租户 (multi-tenancy) Meilisearch 提供了一整套完整的 SDK 和库,让开发者便捷地将其连接到流行的编程语言和 Web 工具。Meilisearch 的搜索功能支持所有语言,对任何使用空格分隔单词的语言以及中文、日语、希伯来语、泰语和韩语都进行了特殊优化。

MeiliSearch 轻量搜索引擎

Manticore Search C++ 开发的高性能搜索引擎

许可证:GPL-2.0 开发语言:C/C++ 官网:https://manticoresearch.com/ Manticore Search 是一个使用 C++ 开发的高性能搜索引擎,创建于 2017 年,其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx,显着改进了它的功能,修复了数百个错误,几乎完全重写了代码并保持开源!这一切使 Manticore Search 成为一个现代,快速,轻量级和功能齐全的数据库,具有出色的全文搜索功能。 来自 MS 官方的测试表明 Manticore Search 性能比 ElasticSearch 有很大的提升。

Manticore Search C++ 开发的高性能搜索引擎

Tantivy 全文搜索引擎库

许可证:MIT 开发语言:Ruby Tantivy 是一个用 Rust 编写的搜索引擎库,其灵感来自于 Lucene。得益于 Rust 语言加持,Tantivy 性能比 Lucene 要好得多。

Tantivy 全文搜索引擎库

Tantiny Ruby 全文搜索引擎库

许可证:MIT 开发语言:Ruby、SHELL、Rust Tantiny 是一个基于 Tantivy 的 Ruby 的最小化全文搜索库。当你手头的任务需要全文搜索,但配置一个完整的分布式搜索引擎会比任务本身花费更多的时间时,它是非常好的选择。 即使你已经在你的项目中使用了这样的引擎(实际上这是很有可能的),使用 Tantiny 仍然可能更容易,因为与 Solr 和 Elasticsearch 不同,它不需要任何东西来工作(没有单独的服务器或进程或其他什么),它是纯粹的可嵌入的。所以,当你发现自己在使用你所选择的搜索引擎会很麻烦 / 不方便,或者需要额外的设置时,你总是可以回到一个快速和肮脏的解决方案,但还是很灵活和快速。 Tantiny 并不完全是对 Tantivy 的 Ruby 绑定,但它试图接近。主要理念是提供对 Tantivy 倒排索引的低级访问,但具有漂亮的 Ruby 风格的 API、合理的默认设置和附加功能。

DataparkSearch 搜索引擎

许可证:GPL-2.0 开发语言:C/C++ 官网:http://www.dataparksearch.org/ DataparkSearch 搜索引擎是一个 C 语言的全功能的开源基于 Web 的搜索引擎。

GoFound 基于 Go 的全文检索引擎

许可证:Apache-2.0 开发语言:Google Go GoFound 是一个 go 语言全文检索引擎, 基于平衡二叉树 + 正排索引、倒排索引实现。可支持亿级数据、毫秒级查询。 使用简单,使用 http 接口,任何系统都可以使用。 技术栈: 平衡二叉查找树 二分法查找 快速排序法 倒排索引 正排索引 文件分片 golang-jieba 分词 leveldb

Compass 搜索引擎

许可证:Apache-2.0 开发语言:Java、Perl 官网:http://www.compass-project.org/ Compass 是一个建立在 Lucene 之上的开源项目,旨在简化搜索与任何 Java 应用的整合。Compass 提供了广泛的功能,旨在集成搜索引擎功能。下图显示了不同的 Compass 模块,然后是每个模块的简短描述。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/309856.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java项目:101SpringBoot仓库管理系统

博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 仓库管理系统基于SpringBootMybatis开发,系统使用shiro框架做权限安全控制,超级管理员登录系统后可根据自己的实际需求配角色&…

iptables 防火墙(二)

目录 1. SNAT 策略及应用 1.1 SNAT策略概述 1. 只开启路由转发,未设置地址转换的情况 2. 开启路由转发,并设置SNAT转换的情况 1.2 SNAT策略的应用 1. 2.1 共享固定IP上网 (1)打开网关的路由转发 (2)…

WPF 消息日志打印帮助类:HandyControl+NLog+彩色控制台打印+全局异常捕捉

文章目录 前言相关文章Nlog配置HandyControl配置简单使用显示效果文本内容 全局异常捕捉异常代码运行结果 前言 我将简单的HandyControl的消息打印系统和Nlog搭配使用,简化我们的代码书写 相关文章 .NET 控制台NLog 使用 WPF-UI HandyControl 控件简单实战 C#更改…

【动态规划精选题目】3、简单多状态模型

此动态规划系列主要讲解大约10个系列【后续持续更新】 本篇讲解简单多状态模型中的9道经典题,会在讲解题目同时给出AC代码 目录 1、按摩师 2、力扣198:打家劫舍1 3、打家劫舍II 4、删除并获得点数 5、 粉刷房子 6、力扣309:买卖股票的最佳时机含冷冻期 7、 买…

如何确定微服务项目中Spring Boot、Spring Cloud、Spring Cloud Alibaba三者之间的版本

文章目录 1. 版本说明2. 版本依赖关系(推荐使用)3. 用脚手架快速生成微服务的pom.xml 本文描述如何确定微服务项目的Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本。 1. 版本说明 我们知道Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本选择一致性非常重要…

【华为数据之道学习笔记】7-5通过感知能力推进企业业务数字化

感知数据在华为信息架构中的位置 感知可以应用于广泛的物理世界和数字世界,感知范围可以从人、物、作业、地点扩展到复杂环境。成熟的用例倾向于以物和人为中心。而在企业中,只有将感知数据纳入整体的数据体系中,才能发挥感知数据的价值。 华…

代码随想录-刷题第四十二天

0-1背包理论基础 0-1背包问题介绍 0-1背包问题:有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 0-1背包问题可以使用回溯法进…

Java关键字(1)

Java中的关键字是指被编程语言保留用于特定用途的单词。这些关键字不能用作变量名或标识符。以下是Java中的一些关键字: public:表示公共的,可以被任何类访问。 private:表示私有的,只能被定义该关键字的类访问。 cl…

【STM32】STM32学习笔记-定时器定时中断 定时器外部时钟(14)

00. 目录 文章目录 00. 目录01. 定时器中断相关API1.1 TIM_InternalClockConfig1.2 TIM_TimeBaseInit1.3 TIM_TimeBaseInitTypeDef1.4 TIM_ClearFlag1.5 TIM_ITConfig1.6 TIM_Cmd1.7 中断服务函数1.8 TIM_ETRClockMode2Config 02. 定时器定时中断接线图03. 定时器定时中断示例0…

智能对话意图分析服务接口

机器人聊天,智能助手,内容生成,智能办公,智能辅助,智能搜索 一、接口介绍 通过接收用户提出的问题、输入的图片和文档等需求,准确识别其对话意图,并触发相应的回复。同时,整合了AP…

人员离岗识别摄像机

人员离岗识别摄像机是一种通过摄像技术来监测和识别工作场所员工离开工作岗位的设备。该摄像机能够准确识别员工的面部特征,并通过算法识别出员工是否离开了工作岗位,从而提高工作场所的管理效率。摄像机采用高清摄像头和人脸识别技术,能够精…

【办公技巧】怎么批量提取文件名到excel

Excel是大家经常用来制作表格的文件,比如输入文件名,如果有大量文件需要输入,用张贴复制或者手动输入的方式还是很费时间的,今天和大家分享如何批量提取文件名。 打开需要提取文件名的文件夹,选中所有文件&#xff0c…