
# 什么是Solr
### 1、直接使用sql搜索存在的问题
大多数搜索引擎应用都必须具有某种搜索功能
搜索功能往往是巨大的资源消耗
它们由于沉重的数据库加载而拖垮你的应用的性能
所有我们一般在做搜索的时候 会把它单独转移到一个外部的搜索服务器当中进行
Apache Solr是一个流行的开源搜索服务器
### 2、Apache Solr
Solr是一个开源搜索平台,用于构建搜索应用程序。
是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口
它建立在Lucene(全文搜索引擎)之上。 Solr是企业级的,快速的和高度可扩展的。
用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
什么是Solr
1、直接使用sql搜索存在的问题
| 大多数搜索引擎应用都必须具有某种搜索功能 |
| 搜索功能往往是巨大的资源消耗 |
| 它们由于沉重的数据库加载而拖垮你的应用的性能 |
| 所有我们一般在做搜索的时候 会把它单独转移到一个外部的搜索服务器当中进行 |
| Apache Solr是一个流行的开源搜索服务器 |
2、Apache Solr
| Solr是一个开源搜索平台,用于构建搜索应用程序。 |
| 是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口 |
| 它建立在Lucene(全文搜索引擎)之上。 Solr是企业级的,快速的和高度可扩展的。 |
| 用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。 |
3、为什么选择Solr ?
| 第一点原因:来自SQL数据库在性能上缺乏亮点。基本上,你需要在你的查询中使用JOIN操作。 |
| 第二点原因是文档的天然数据特性松散的文本文件,这种查询都是需要使用LIKE。然而joins和likes都是性能杀手,在目前的数据库引擎中是不方便的。 |
| solr底层采用的是倒排索引。这种数据结构类似与美化过的词典 |
4、Solr 关键特性
| 1.基于标准的开放接口:Solr搜索服务器支持通过XML、JSON和HTTP查询和获取结果。 |
| 2.易管理:Solr可以通过HTML页面管理,Solr配置通过XML完成。 |
| 3.可伸缩性:能够有效地复制到另外一个Solr搜索服务器。 |
| 4.灵活的插件体系:新功能能够以插件的形式方便的添加到Solr服务器上。 |
| 5.强大的数据导入功能:数据库和其他结构化数据源现在都可以导入、映射和转化。 |

Solr安装
| 上传安装包 |
| [{"src":"xap:resources/cd60d0bfb611c878b3a92f8a1c1801c2644c6a6168690d565e565fe886b4d324.png","width":552,"height":36,"type":"image"}] |
| 对以上内容进行解压 |
| 解压tomcat |
| tar -zxvf apache-tomcat-8.5.32.tar.gz |
| mv apache-tomcat-8.5.32 tomcat |
| 解压solr |
| tar -zxvf solr-4.10.3.tar |
| 解压IK |
| unzip IKAnalyzer.zip |
| 复制solr.war到tomcat/webapp下 |
| cd /usr/local/solr/solr-4.10.3/example/webapps/ |
| cp solr.war /usr/local/solr/tomcat/webapps/ |
| 启动tomcat让solr.war自动解压 |
| /usr/local/solr/tomcat/bin/startup.sh |
| 关闭tomcat |
| /usr/local/solr/tomcat/bin/shutdown.sh |
| 进入到webapps删除solr.war包 |
| cd /usr/local/solr/tomcat/webapps/ |
| rm -rf solr.war |
| 将solr-4.10.3/example/lib/ext/目录下的所有jar包拷贝到/usr/local/solr/tomcat/webapps/solr/WEB-INF/lib目录中 |
| cd /usr/local/solr/solr-4.10.3/example/lib/ext |
| cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib |
| 将solr-4.10.3/example/目录下的solr文件夹复制到/usr/local/solr/目录下并且重命名为solrhome |
| cd /usr/local/solr/solr-4.10.3/example/ |
| cp -r solr /usr/local/solr/ |
| mv solr solrhome |
| 配置tomcat/webapps/solr/WEB-INF/web.xml家的位置 |
| cd /usr/local/solr/tomcat/webapps/solr/WEB-INF/ |
| vim web.xml |
| 添加solrhome |
| [{"src":"xap:resources/6ca731cd4e60073f5b559331fb0d5d3a9f4b3d891a262784823172c4c1d34b05.png","width":451,"height":90,"type":"image"}] |
| |
| /usr/local/solr/solrhome |
| 启动tomcat |
| /usr/local/solr/tomcat/bin/startup.sh |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南