Solr 安装与使用 Centos7
一、Solr 简介
W3C 对solr 的简绍:https://www.w3cschool.cn/solr_doc/
参考博客:https://my.oschina.net/u/2931319/blog/1595303
Solr 是采用 Java5 开发,是建立在Apache Lucence 上的流行的、快速的开源企业搜索平台
特征:
- 高级全文搜索能力,由 Lucene 提供支持,可以实现强大的功能匹配,包括短语、通配符、联接、分组
- 针对大流量进行优化
- 拥有基于标准的开放式接口 XML 、JSON、HTTP
- 实时索引
Solr 版本发展:
版本 | 发布时间 | 说明 |
---|---|---|
1.1 | 2007-01-18 | - |
1.3.0 | 2008-09-15 | lucene2.3;引入拼写检查、数据导入、排序、分布式搜索 |
1.4.0 | 2009-11-09 | lucene2.9.3 |
1.4.1 | 2010-06-24 | - |
3.1.0 | 2011-03-30 | Lucene 3.1.0 |
4.0.0 | 2013-01-16 | Java 1.6 以上,ZooKeeper 3.3.6;引入solrcloud |
4.1.0 | 2013-01-21 | Java 1.6 以上,lucene4.1 |
4.5.0 | 2013-10-04 | Java 1.6 以上,ZooKeeper 3.4.5 |
4.7.1 | 2014-04-01 | Java 1.6 以上,最后一个采用旧版配置方法版本 |
4.8.0 | 2014-04-27 | Java 1.7 以上,ZooKeeper 3.4.6 |
5.0.0 | 2015-02-19 | Java 1.7 以上,Jetty 8.1.10 |
5.5.0 | 2016-02-20 | Java 1.7 以上,Solr schema version支持1.6 |
6.0.0 | 2016-04-07 | Java 1.8 以上,Jetty 9.3.8 |
6.1.0 | 2016-08-24 | Java 1.8 以上 |
二、下载安装
jdk:1.8 需要提前安装好
Solr 下载地址:http://archive.apache.org/dist/lucene/solr/
tomcat 下载地址:https://tomcat.apache.org/download-80.cgi
1 .tomcat 下载版本:8.5.58 solr 下载版本: 7.7.0 ,下载并上传到服务器 ,服务器路径: /usr/local
2.1 解压 tomcat ,并重命名 tomcat8
tar -zxvf apache-tomcat-8.5.58.tar.gz
mv apache-tomcat-8.5.58.tar.gz tomcat8
2.2 解压 solr
tar -zxvf solr-7.7.0.tgz
3. soler 在版本5之后可以不使用 tomcat 启动,内置 jetty 。直接启动soler
cd solr-7.7.0/ bin/solr start
此处使用 root 权限,所有使用 -force 参数
bin/solr start -force
启动成功,浏览器直接访问 ip:8983
这种方式虽然简单,但是还是用tomcat 启动(原因待定)
3.1 关闭solr
bin/solr stop
三、solr 部署到 tomcat
4. 拷贝 solr 的web 包到 tomcat 的webapp 目录下,并重命名为 solr
cd /usr/local
cp -r solr-7.7.0/server/solr-webapp/webapp/ tomcat8/webapps/
cd /usr/local/tomcat8/webapps/
mv webapp/ solr
5.在 solr 目录下创建 solr_home 目录,并将solr 下的文件 复制到 solr_home
cd /usr/local/solr-7.7.0/
mkdir solr_home
cp -r /usr/local/solr-7.7.0/server/solr solr-7.7.0/solr_home/ (此处错误,导致后面404)
solr_home : /usr/local/solr-7.7.0/solr_home
6.修改 solr 下web.xml 文件,并指定 solr_home 路径
cd /usr/local/tomcat8/webapps/solr/WEB-INF/
vim web.xml
此部分信息是新增的,在web.xml 是没有的
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/usr/local/solr-7.7.0/solr_home</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
7.复制 jar 包
复制solr-7.2.0/server/lib/ext/下所有jar到tomcat/webapp/solr/WEB-INF/lib/下
cd /usr/local/
cp -r solr-7.7.0/server/lib/ext/* tomcat8/webapps/solr/WEB-INF/lib/
复制solr-7.2.0/server/lib下所有matrics开头的jar到tomcat/webapp/solr/WEB-INF/lib/下
cp -r solr-7.7.0/server/lib/metrics-* tomcat8/webapps/solr/WEB-INF/lib/
复制solr/solr-7.2.0/dist/下的solr-clustering-7.2.0.jar solr-dataimporthandler-extras-7.2.0.jar两个jar复制到tomcat/webapp/solr/WEB-INF/lib/下
cp solr-7.7.0/dist/solr-clustering-7.7.0.jar tomcat8/webapps/solr/WEB-INF/lib/
cp solr-7.7.0/dist/solr-dataimporthandler-extras-7.7.0.jar tomcat8/webapps/solr/WEB-INF/lib/
启动 tomcat,访问 solr
解决办法:注释掉 web.xml 中安全检查
cd /usr/local/tomcat8/webapps/solr/WEB-INF/
vim web.xml
图片中的配置需要注释掉,重新访问
此处报错404,仔细寻找是第5步复制出错,将 solr整个包复制到了 solr_home ,应该是将 solr 下的文件复制过去
cd /usr/local/solr-7.7.0/solr_home/solr
mv * /usr/local/solr-7.7.0/solr_home/
cd ..
rm -rf solr
修改完,重新访问:
四、使用 solr
使用 core Admin 创建 core
解决办法:虽然失败,但是文件在solr_home 下创建成功,将配置拷贝在改文件下,重新创建
cd /usr/local/
cp -r solr-7.7.0/server/solr/configsets/_default/conf/ solr-7.7.0/solr_home/new_core/
现在已经有了一个 new_core,现在添加字段 user_name
可以在 Documents 处添加内容,并查询
Solr 启动报错:https://blog.csdn.net/zhou_438/article/details/89336638