官网:https://nutch.apache.org/
Nutch 是一个开源 Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和 Web 爬虫。
Nutch 的创始人是 Doug Cutting,他同时也是 Lucene、Hadoop 和 Avro 开源项目的创始人。
更新于 2023/03/10 17:51
官网:https://redis.io/docs/stack/search/
RediSearch 是一个高性能的全文搜索引擎,可作为一个 Redis Module 运行在 Redis 上,是由 RedisLabs 团队开发的。
实现了Redis的查询、二级索引和全文搜索。这些功能在文本查询的基础上实现了多字段查询、聚合、精确短语匹配、数字过滤、地理过滤和矢量相似性语义搜索。
更新于 2023/03/10 17:49
官网:http://sphinxsearch.com/
Sphinx 是一个开源的全文搜索服务器,从头开始设计时就考虑到了性能、相关性(又名搜索质量)和集成的简单性。它是用 C++ 编写的,适用于 Linux(RedHat、Ubuntu 等)、Windows、MacOS、Solaris、FreeBSD 和其他一些系统。
Sphinx 让你可以快速轻松地批量索引和搜索存储在 SQL 数据库、NoSQL 存储或文件中的数据,或者即时索引和搜索数据,使用 Sphinx 就像使用数据库服务器一样。各种文本处理功能可以根据你的特定应用程序要求微调 Sphinx,并且许多相关功能确保你也可以调整搜索质量。
更新于 2023/03/10 17:48
官网:https://xapian.org/
Xapian 是一个用 C++ 编写的全文检索程序,他的作用类似于 Java 的 lucene。尽管在 Java 世界 lucene 已经是标准的全文检索程序,但是 C/C++ 世界并没有相应的工具,而 Xapian 则填补了这个缺憾。
Xapian 是一个高度适应性的工具包,它允许开发人员轻松地将高级索引和搜索工具添加到他们自己的应用程序中。它内置支持多个权重模型系列,还支持一组丰富的布尔查询运算符。
更新于 2023/03/10 17:44
官网:https://hibernate.org/search/
Hibernate Search 的作用是对数据库中的数据进行检索的。它是 hibernate 对著名的全文检索系统 Lucene 的一个集成方案,作用在于对数据表中某些内容庞大的字段(如声明为 text 的字段)建立全文索引,这样通过 hibernate search 就可以对这些字段进行全文检索后获得相应的 POJO,从而加快了对内容庞大字段进行模糊搜索的速度(sql 语句中 like 匹配)。
Hibernate Search 自动从 Hibernate ORM 实体中提取数据,以将其推送到本地 Apache Lucene 索引或远程 Elasticsearch 索引。
更新于 2023/03/10 17:35
官网: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 的搜索功能支持所有语言,对任何使用空格分隔单词的语言以及中文、日语、希伯来语、泰语和韩语都进行了特殊优化。
更新于 2023/03/10 17:37
官网:https://manticoresearch.com/
Manticore Search 是一个使用 C++ 开发的高性能搜索引擎,创建于 2017 年,其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx,显着改进了它的功能,修复了数百个错误,几乎完全重写了代码并保持开源!这一切使 Manticore Search 成为一个现代,快速,轻量级和功能齐全的数据库,具有出色的全文搜索功能。
来自 MS 官方的测试表明 Manticore Search 性能比 ElasticSearch 有很大的提升。
更新于 2023/03/10 17:38
开发语言:Ruby、SHELL、Rust
Tantiny 是一个基于 Tantivy 的 Ruby 的最小化全文搜索库。当你手头的任务需要全文搜索,但配置一个完整的分布式搜索引擎会比任务本身花费更多的时间时,它是非常好的选择。
即使你已经在你的项目中使用了这样的引擎(实际上这是很有可能的),使用 Tantiny 仍然可能更容易,因为与 Solr 和 Elasticsearch 不同,它不需要任何东西来工作(没有单独的服务器或进程或其他什么),它是纯粹的可嵌入的。所以,当你发现自己在使用你所选择的搜索引擎会很麻烦 / 不方便,或者需要额外的设置时,你总是可以回到一个快速和肮脏的解决方案,但还是很灵活和快速。
Tantiny 并不完全是对 Tantivy 的 Ruby 绑定,但它试图接近。主要理念是提供对 Tantivy 倒排索引的低级访问,但具有漂亮的 Ruby 风格的 API、合理的默认设置和附加功能。
更新于 2023/03/10 17:31
开发语言:Google Go
GoFound 是一个 go 语言全文检索引擎, 基于平衡二叉树 + 正排索引、倒排索引实现。可支持亿级数据、毫秒级查询。 使用简单,使用 http 接口,任何系统都可以使用。
平衡二叉查找树
二分法查找
快速排序法
golang-jieba 分词
leveldb
更新于 2023/03/10 17:28