CentOS7搭建solr7.2
solr介绍
一、Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。 二、Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。它易于安装和配置,而且附带了一个基于 HTTP 的 管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。 三、Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。 四、通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。 五、此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 创建的索引。可以使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。
准备工作:1、关闭防火墙,2、安装jdk1.8环境。3、创建生产环境下的目录/data/soft /,所有安装包都放在/data/下进行操作,产生的环境都放在/data/soft下面。
1、查看防火墙状态:
firewall-cmd --state
如果是开启状态那么关闭掉就行了。
systemctl stop firewalld.service
2、做之前的准备:jdk环境一定要是jdk1.8,centos7的话好像最低都是jdk1.8的,我的做实验前查了一下是jdk1.8的,所以就不在继续做jdk最新版本的了。
在这里不做说明,如果不会请参考我专门做的关于jdk环境的博客.
3、mkdir -p /data/soft
前三步做好后就直接开始做solr搜索服务器了。
正式开始:
1.下载solr7.2版本,解压
wget http://mirrors.shuosc.org/apache/lucene/solr/7.2.1/solr-7.2.1.tgz
2.解压solr,注意我把solr包移动到了/data/soft下面。
tar -xvf solr-7.2.1.tgz
3.下载tomcat,解压并测试tomcat是否异常,这步很重要,有的tomcat版本有冲突就会发生异常。
wget https://mirrors.cnnic.cn/apache/tomcat/tomcat-9/v9.0.6/bin/apache-tomcat-9.0.6.tar.gz
tar -xvf apache-tomcat-9.0.6.tar.gz
mv apache-tomcat-9.0.6 tomcat
对tomcat测试一下,看tomcat是否正常
启动tomcat:sh bin/startup.sh
查看端口是被监听
查看服务是否启动,生产环境会用这种方式查看。
查看tomcat日志:
生产环境最直接的检查方式。直接curl命令查看是否能够获取tomcat页面。
开始部署配置solr
1.把solr-7.2.0/server/solr-webapp里面的webapp拷贝到tomcat 的webapps下,重命名为solrcp -r solr-7.2.1/server/solr-webapp/webapp/ /data/soft/tomcat/webapps/
mv webapp/ solr
2.拷贝solr-7.2.1\server\lib\ext 下的jar包以及lib目录下gmetric4j-1.0.7.jar,以metrics开头的jar包拷贝到 tomcat\webapps\solr 项目的WEB-INF\lib下
cd solr-7.2.1/server/lib/ext/
cp * /data/soft/tomcat/webapps/solr/WEB-INF/lib/
cp gmetric4j-1.0.7.jar metrics-* /data/soft/tomcat/webapps/solr/WEB-INF/lib/
3.拷贝solr-7.2.0\server 下的solr文件夹到其它非中文目录下,重命名为solrhome,我是建立到了/data/soft下
cd solr-7.2.1/server/
cp -r solr /data/soft/solrhome
4.修改/data/soft/tomcat/webapps/solr/WEB-INF\web.xml, 找到如下代码,蓝色部分的,/put/your/solr/home/here 改为你自己的solrhome的路径
,我的是/data/soft/solrhome路径。
vim /data/soft/tomcat/webapps/solr/WEB-INF/web.xml,将注释去掉,并将solrhome的目录位置写进去:
<!--
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->
如下图:
mkdir -p /data/soft/tomcat/webapps/solr/WEB-INF/classes

cp solr-7.2.1/server/resources/log4j.properties /data/soft/tomcat/webapps/solr/WEB-INF/classes/
6.启动tomcat,访问需要完整路径,我的是http://192.168.241.131:8080/solr/index.html#/
看下日志,如果日志有下面这个样式就成功了。
在本机上curl一下,发现403,那么估计页面也是这样,如下图。
7.注意:如果出现上图403错误,编辑web.xml照片截图中位置,找到如下代码,将其注释即可。
加上注释如下图:
再次刷新浏览器,会出现下图的页面。
配置solr的核心内容(core)
1.点击Core Admin,接着点击Add Core这项,点完之后会出现问题,但是会自动创建new-core目录。


4、配置中文分析器
1.拷贝dist文件夹里的solr-dataimporthandler-7.2.0.jar
cp solr-7.2.1/dist/solr-dataimporthandler-7.2.1.jar /data/soft/tomcat/webapps/solr/WEB-INF/lib/
2.拷贝lucene-libs文件夹里的中文分析器的jar包
cp solr-7.2.1/contrib//analysis-extras/lucene-libs/* /data/soft/tomcat/webapps/solr/WEB-INF/lib/
3.编辑conf文件夹里的managed-schema文件
vim solrhome/new_core/conf/managed-schema
<!-- ChineseAnalyzer -->
<fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
</fieldType>
如下图:
4.自定义搜索业务域
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="plong" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>
如下图:
5.重启tomcat,就能发现自定义域已经出现
6.测试分词效果
CentOS7搭建solr7.2的更多相关文章
- centos7 搭建GlusterFS
centos7 搭建GlusterFS 转载http://zhaijunming5.blog.51cto.com/10668883/1704535 实验需求:4台机器安装GlusterFS组成一个集群 ...
- Centos7搭建FTP服务器
从网上搜索了好多搭建Centos7搭建服务器的教程都没有成功唯独这个,利用Windows资源管理器连接测试成功. 一.通过yum安装vsftpd yum install -y vsftpd 二.修改v ...
- CentOS7 搭建 SVN 服务器
CentOS7 搭建 SVN 服务器 介绍SVN: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上 ...
- centos7搭建ELK Cluster集群日志分析平台(四):Fliebeat-简单测试
续之前安装好的ELK集群 各主机:es-1 ~ es-3 :192.168.1.21/22/23 logstash: 192.168.1.24 kibana: 192.168.1.25 测试机:cli ...
- centos7搭建ELK Cluster集群日志分析平台(三):Kibana
续 centos7搭建ELK Cluster集群日志分析平台(一) 续 centos7搭建ELK Cluster集群日志分析平台(二) 已经安装好elasticsearch 5.4集群和logst ...
- centos7搭建ELK Cluster集群日志分析平台(二):Logstash
续 centos7搭建ELK Cluster集群日志分析平台(一) 已经安装完Elasticsearch 5.4 集群. 安装Logstash步骤 . 安装Java 8 官方说明:需要安装Java ...
- centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch
应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...
- CentOS7搭建OpenVPN
目录 CentOS7搭建OpenVPN 环境 安装 第一步.安装openvpn及所需软件 第二步.编辑vars文件,根据自己环境配置 第三步.创建服务端证书及key 第四步.创建客户端证书 第五步.拷 ...
- vps vultr centos7 搭建 伟皮恩
vultr 配置 64 bit OS CentOS 7 ×64 20 GB SSD 1 CPU 512MB Memory 500GB Bandwidth √ Enable IPv6 √ ...
随机推荐
- java重写和重载
方法的重载: 在一个类中的两个或两个以上的方法,他们方法名相同但是参数列表不同,这种方式称为方法的重载,方法的重载是实现多态性的方式之一. 参数列表不同指的是参数的个数不同或相同的个数但顺序不同或者类 ...
- Exception in thread "main" java.lang.IllegalArgumentException
1.错误描述 Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given ...
- Http请求封装基类HttpHelper.cs
HttpHelper请求封装基类,支持get请求和POS请求http接口交互,为后面接口交互做准备. 1.HttpHelper帮助基类 using System; using System.Colle ...
- Codeforces Round #467 (Div. 1) B. Sleepy Game
我一开始把题目看错了 我以为是博弈.. 这题就是一个简单的判环+dfs(不简单,挺烦的一题) #include <algorithm> #include <cstdio> #i ...
- iOS - Swift Enumerations or how to annoy Tom
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- VS2017 启动调试报错:ID为{....}进程未启动解决方案
今天遇到这么一个问题,打开VS启动调试,始终报错,如下图: 我重启VS,甚至重启电脑都不得行,那个进程号还在变化,就在网上查找资料,各式各样的解决方案,这里我记录我成功的方案. 打开项目文件地址,在解 ...
- Python Cookbook(第3版)中文版:15.21 诊断分段错误
15.21 诊断分段错误¶ 问题¶ 解释器因为某个分段错误.总线错误.访问越界或其他致命错误而突然间奔溃. 你想获得Python堆栈信息,从而找出在发生错误的时候你的程序运行点. 解决方案¶ faul ...
- C#多线程编程(1)--线程,线程池和Task
新开了一个多线程编程系列,该系列主要讲解C#中的多线程编程. 利用多线程的目的有2个: 一是防止UI线程被耗时的程序占用,导致界面卡顿:二是能够利用多核CPU的资源,提高运行效率. 我没有进行很 ...
- 【机器学习】正则化的线性回归 —— 岭回归与Lasso回归
注:正则化是用来防止过拟合的方法.在最开始学习机器学习的课程时,只是觉得这个方法就像某种魔法一样非常神奇的改变了模型的参数.但是一直也无法对其基本原理有一个透彻.直观的理解.直到最近再次接触到这个概念 ...
- Python使用Scrapy框架爬取数据存入CSV文件(Python爬虫实战4)
1. Scrapy框架 Scrapy是python下实现爬虫功能的框架,能够将数据解析.数据处理.数据存储合为一体功能的爬虫框架. 2. Scrapy安装 1. 安装依赖包 yum install g ...