搜索百科(2):Apache Solr — 企业级搜索的开源先锋
大家好,我是 INFINI Labs 的石阳。
欢迎回到 《搜索百科》 专栏!每天 5 分钟,带你速览一款搜索相关的技术或产品,同时还会带你探索它们背后的技术原理、发展故事及上手体验等。
上一篇我们认识了搜索技术的基石 Apache Lucene,今天我们将继续这个旅程,了解基于 Lucene 构建的第一个成功商业级搜索平台 —— Apache Solr。
Solr 是什么?
Solr 是一款极速的开源多模态搜索平台,基于 Apache Lucene 的全文、向量和地理空间搜索能力构建而成。Solr 具备高可靠性、可扩展性和容错性,支持分布式索引、复制与负载均衡查询,提供自动故障转移与恢复、集中化配置等功能。如今,Solr 为全球众多大型互联网网站提供搜索和导航功能。
- 首次发布:2004 年,2006 年进入 Apache
- 最新版本:截至 2025 年,已更新至 9.x 系列
- 核心依赖:Apache Lucene
- 开源协议:Apache License 2.0
- 官方网址:https://solr.apache.org
- GitHub 仓库:https://github.com/apache/solr
它的定位是:把 Lucene 打造成独立的企业级搜索服务。相比 Lucene 需要写代码调用,Solr 提供了 Web 管理界面、REST API 和配置文件,让开发者更容易上手。
起源:从网站搜索到 Apache 顶级项目
Solr(读作"solar")的故事始于 2004 年,当时 CNET 公司的开发人员 Yonik Seeley 需要为其新闻网站构建一个搜索功能。虽然 Lucene 提供了强大的核心搜索能力,但直接使用 Lucene 需要编写大量 Java 代码,缺乏开箱即用的功能。
Seeley 决定在 Lucene 之上构建一个更易用的搜索服务器,于是 Solr 诞生了。最初的目标很明确:通过 HTTP/XML 接口提供搜索服务,让任何编程语言都能轻松集成搜索功能。
2006 年,Solr 捐赠给 Apache 基金会,2007 年成为顶级项目。2010 年,Solr 与 Lucene 项目合并,形成了今天我们所知的 Apache Lucene/Solr 项目。
技术架构
Index(索引)
Apache Solr 的索引就像是用于管理结构化 / 非结构化数据的“数据库”。它以便于分析和全文检索的方式存储数据。
Query Parser(查询解析器)
所有由客户端提交的查询都会由查询解析器处理。
Response Handler(响应处理器)
响应处理器负责为客户端生成合适格式的响应(如 JSON/XML/CSV)。
Update Handler(更新处理器)
更新处理器用于索引操作,即对索引中的数据进行插入、更新和删除。例如,如果我们希望 MySQL 数据与 Apache Solr 保持同步,就需要创建一个负责同步的更新处理器。
功能亮点
- 全文检索:高效支持关键词搜索、布尔查询、短语匹配等。
- 分面搜索(Faceted Search):可以对搜索结果进行分类和聚合统计。
- 分布式架构(SolrCloud):支持集群部署、自动分片、副本和容错。
- 丰富的数据接口:提供 RESTful API,支持 JSON、XML、CSV 等多种格式的数据交互。
- 扩展性与可定制性:通过插件机制支持多语言分词、排序、评分模型等个性化定制。
- 地理位置搜索:内置空间搜索能力,支持基于经纬度的范围查询和排序。
对比: Solr vs Elasticsearch 如何选择?
虽然两者都基于 Lucene,但在设计哲学上有所不同:
特性 | Apache Solr | Elasticsearch |
---|---|---|
定位 | 企业级搜索服务器 | 分布式搜索和分析引擎 |
API | 更标准化,遵循传统 REST | 更灵活,JSON 原生 |
分布式 | 需要 ZooKeeper 协调 | 内置分布式协调 |
上手难度 | 相对简单,开箱即用 | 学习曲线较陡峭 |
生态系统 | 搜索功能更丰富 | 分析和可视化更强 |
适用场景 | 传统企业搜索、电商 | 日志分析、实时监控 |
简单来说:Solr 更像"精装房",开箱即用;Elasticsearch 更像"毛坯房",需要更多自定义但更灵活。
快速开始:5 分钟搭建 Solr 服务
1. 下载和安装
# 下载 8.x 版 Solr
wget https://dlcdn.apache.org/solr/solr/8.11.4/solr-8.11.4.tgz
# 解压
tar -xzf solr-8.11.4.tgz
# 启动 Solr(单机模式)
cd solr-8.11.4
bin/solr start
2. 创建 Core
# 创建测试 Core
bin/solr create -c test_core
# 查看 Core 状态
bin/solr status
3. 索引文档
# 使用 curl 索引 JSON 文档
curl http://localhost:8983/solr/test_core/update -d '
[
{"id": "1", "title": "Solr 入门指南", "content": "Apache Solr 是企业级搜索平台"},
{"id": "2", "title": "搜索技术演进", "content": "从 Lucene 到 Solr 的技术发展"}
]' -H 'Content-type:application/json'
# 提交更改
curl http://localhost:8983/solr/test_core/update -d '<commit/>' -H 'Content-type:application/xml'
4. 执行搜索
# 搜索"Solr"
curl "http://localhost:8983/solr/test_core/select?q=content:Solr"
# 使用 JSON 格式返回
curl "http://localhost:8983/solr/test_core/select?q=content:Solr&wt=json"
执行搜索返回结果:
访问 http://localhost:8983/solr 即可使用 Solr 的管理界面。
Dashboard:
Core Admin:
结语
从最初的公司内部工具,到成为全球范围内广泛使用的开源搜索引擎,Apache Solr 见证并推动了搜索技术的进化。尽管近年来 Elasticsearch、向量数据库和 AI 驱动的搜索技术逐渐崛起,但 Solr 依然是许多企业可靠且成熟的选择。它的故事不仅属于开源社区,也代表了搜索技术发展的一个重要阶段。
🚀 下期预告
在下一篇「搜索百科」中,我们将介绍它的明星兄弟 —— Elasticsearch。
💬 三连互动
- 你现在还在用 Solr 吗?
- 在 Solr 和 Elasticsearch 之间做过技术选型?
- 遇到过有趣的 Solr 使用案例或挑战?
对搜索技术感兴趣的朋友,也欢迎关注《搜索百科》专栏,一起探讨与学习!
✨ 推荐阅读
🔗 参考

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
LJSON:GB/s级全能JSON引擎的架构哲学与性能平衡之道
项目地址 github: https://github.com/lengjingzju/json gitee: https://gitee.com/lengjingzju/json 复用模式解析千次测试(2.3GB/s)(测试平台: PC | CPU: Intel i7-1260P | OS: Ubuntu 20.04 (VMWare)) 引言:重新定义高性能 JSON 处理 在 C 语言 JSON 库领域,性能竞赛从未停止。2019 年 10 月诞生的 LJSON,比 yyjson 早整整一年,其设计初衷并非单纯追求基准测试的极限解析速度,而是在性能、内存占用、可编辑性、流式能力、可维护性之间寻找最佳平衡点。 LJSON 目前达到的状态令人瞩目: 在多数场景下媲美甚至超越 yyjson 的性能 提供 yyjson 架构无法实现的真流式处理能力 保持代码可读性和可扩展性,适合长期演进 本文将深入解析 LJSON 的架构哲学、性能优化策略,以及与 yyjson 的本质差异,揭示全能 JSON 引擎的设计智慧。 一、核心能力:双重引擎驱动 全能 JSON 处理 完整支持 JSON5 规范(...
-
下一篇
探秘数字科技,共启智创未来:九三学社上城基层委第五支社、第六支社来访“杭州AI十八罗汉”拓数派
本文供稿:金喜英(九三学社社员、浙江省作家协会会员、浙江省散文学会会员) 数字浪潮奔涌向前,智慧创新重塑时代脉络。9月13日,九三学社上城基层委员会第五支社、第六支社特携手杭州拓数派科技发展有限公司(简称:拓数派,英文名:OpenPie),在杭州办公室为社员搭建“亲身体验科技实践、深度对话行业先锋、精准链接创新资源”的平台,让专业视野与履职使命同频共振。 拓数派作为全球大模型数据计算领域的先行者、杭州基础AI十八罗汉企业之一,实现 “数据 + 模型” 自主耦合,助力企业落地私域智能体和AI大模型。拓数派不仅荣登多项如《中国未来独角兽TOP100》、《浙江省准独角兽》等重量级榜单,还和核心央企中国船舶、中国电子、中国航信深度合作,引领着行业的创新发展。作为以科学技术界高、中级知识分子为主体的参政党,九三学社始终秉持“科技报国、服务社会”的初心,深耕科技前沿领域,致力于推动科技创新与民生发展、产业升级深度融合。 从踏入企业的那一刻起,一段兼具“科技深度”与“实践温度”的探索之旅便正式开启。社员们在拓数派创始合伙人周妮娜的带领下,走进核心研发空间与运营场景,直观感受数字技术在实际领域的落地应...
相关文章
文章评论
共有0条评论来说两句吧...