1 solr的下载

从Solr官方网站(http://archive.apache.org/dist/lucene/solr/7.3.1/ )下载Solr最新版本,

根据Solr的运行环境,Linux下需要下载solr-7.3.1.tgz,windows下需要下载solr-7.3.1.zip

2 solr的环境

Solr是java开发的,在windows上面和Linux上面的安装一样。

windows上面的安装教程可以参照:http://www.cnblogs.com/jepson6669/p/9053880.html

1.需要安装jdk【需要jdk1.8及以上版本】

2.安装环境CentOS7

3.需要安装tomcat(非必需,可以使用内置的小服务器jetty)

我的环境:

Solr:Solr7.3.1

Jdk:1.8.0_162

Tomcat:apache-tomcat-8.5.31

3 安装过程

第一步:把solr的压缩包上传到Linux系统

第二步:在usr/local/创建solr目录

# mkdir /usr/local/solr

第三步:解压solr到刚刚创建的solr目录下

[root@i soft]# tar -xvf solr-7.3.1.tgz -C /usr/local/solr

第四步:解压解压tomcat到solr目录下

[root@i soft]# tar -xvf apache-tomcat-8.5.31.tar.gz -C /usr/local/solr

第五步:把 solr\solr-7.3.1\server\solr-webapp下的 webapp 文件夹拷贝到tomcat 的webapps下,重命名为solr7,也可以是其他名字

[root@iz solr-webapp]# cp -r webapp /usr/local/solr/apache-tomcat-8.5.31/webapps/

# mv webapp solr7

第六步:拷贝solr-7.3.1\server\lib\ext 下的jar包到 tomcat\webapps\solr7 项目的WEB-INF\lib下

[root@i ext]# cp * /usr/local/solr/apache-tomcat-8.5.31/webapps/solr7/WEB-INF/lib/

第七步:拷贝solr-7.3.1\server\lib\目录下gmetric4j-1.0.7.jar,以及以metrics开头的jar包拷贝到WEB-INF\lib下

[root@i lib]# cp gmetric4j-1.0.7.jar /usr/local/solr/apache-tomcat-8.5.31/webapps/solr7/WEB-INF/lib/
[root@iz lib]# cp metrics-*.* /usr/local/solr/apache-tomcat-8.5.31/webapps/solr7/WEB-INF/lib/

另外还需要拷贝/usr/local/solr/solr/dist下面的以solr-dataimporthandler开头的jar包WEB-INF\lib下

[root@ dist]# cp /usr/local/solr/solr/dist/solr-dataimporthandler-*.* /usr/local/solr/tomcat/webapps/solr7/WEB-INF/lib/

第八步:拷贝solr-7.3.1\server 下的solr文件夹到/usr/local/solr目录下,重命名为solrhome。

[root@i server]# cp -r solr /usr/local/solr/
[root@iz solr]# mv solr solrhome

第九步:关联solr和solrhome.需要修改tomcat\webapps\ solr7\WEB-INF\web.xml

第十步:解决日志不能够正常显示问题

1.在/sor7/WEB-INF/下面创建一个classes文件夹

2.拷贝solr7.3.1\server\resources下的log4j.properties到刚刚创建的classes目录下。

3.在/usr/local/solr/创建一个logs文件夹

4.修改log4j.properties文件

第十一步:修改tomcat的端口,避免冲突

第十二步:启动tomcat,访问solr时后面记得加上“index.hmtl”

4 HTTP Status 403 – Forbidden解决

修改/usr/local/solr/apache-tomcat-8.5.31/webapps/solr7/WEB-INF/web.xml文件。

然后重启tomcat.

然后访问终于看到了欢迎页面:

这也就是说明安装成功了。

5 不能添加核心的解决

1 事故现场

name:自定义的名字,建议和instanceDir保持一致

instanceDir:solrhome目录下的示例类目

dataDir:默认填data即可

config:指定配置文件,/usr/local/solrhome/new_core/conf/solrconfig.xml

schema:指定schema.xml文件,new_core/conf/schema文件(实际上是managed-schema文件)

注意!在schema.xml下面有一个感叹号!

如果你不管他,直接点击Add Core会提示solrconfig.xml文件找不到

2 事故解决

第一步:进入到solrhome/new_core目录,复制/solr-7.3.1/server/solr/configsets/_default/conf文件夹到new_core目录下

[root@i new_core]# cp -r /usr/local/solr/solr-7.3.1/server/solr/configsets/_default/conf ./

第二步:切换到solrhome目录,复制/usr/local/solr/solr-7.3.1/contrib文件夹到solrhome目录下

[root@i solrhome]# cp -r  /usr/local/solr/solr-7.3.1/contrib/ ./

第三步: 复制solr-7.3.1/dist文件夹到solrhome目录下

[root@iz2ze7k6ycnx8b40ynghxtz solrhome]# cp -r /usr/local/solr/solr-7.3.1/dist/ ./

第四步:修改核心配置文件solrhome/new_core/conf/solrconfig.xml,

主要是修改contrib目录,dist目录的相对位置。

  <lib dir="${solr.install.dir:..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:..}/dist/" regex="solr-cell-\d.*\.jar" /> <lib dir="${solr.install.dir:..}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:..}/dist/" regex="solr-clustering-\d.*\.jar" /> <lib dir="${solr.install.dir:..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:..}/dist/" regex="solr-langid-\d.*\.jar" /> <lib dir="${solr.install.dir:..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:..}/dist/" regex="solr-velocity-\d.*\.jar" />

第五步:重启服务即可正常创建Core,然后instanceDir文件夹(new_core)里会自动生成一个core.properties文件

new_core文件夹里面的内容如下:

core.properties文件中的内容如下:

到这里就解决了不能添加核心问题。

3 补充

以后再次需要创建solrCore核心的时候,就不用这么麻烦了。

可以直接复制第一创建的new_core目录,修改core.properties文件中的name即可

6 ikanalyzer 中文分词器

准备好Ikanalyzer文件,目录结构如下:

里面包括IK Analyzer 2个架包:ik-analyzer-solr5-5.x.jar、solr-analyzer-ik-5.1.0.jar

IK配置文件 IKAnalyzer.cfg.xml、ext.dic、stopword.dic

第一步:拷贝ik-analyzer-solr5-5.x.jar到/usr/local/solr/tomcat/webapps/solr7/WEB-INF/lib目录下面

第二步:拷贝ext.dic ,stopword.dic,ikAnalyzer.cfg.xml到/usr/local/solr/tomcat/webapps/solr7/WEB-INF/classes目录下面。

前面的安装过程中我已经创建过classes目录,如果没有的话,创建一个。

ikAnalyzer.cfg.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">stopword.dic;</entry> </properties>

ext.dic里面添加新词汇:比如“王者荣耀”这类的。

stopword.dic里面添加不需要分词的词语,比如 “的 了  个 你 我 他”

第三步:修改/usr/local/solr/solrhome/new_core/conf下面的managed-schema文件。

1.添加一个自定义的fieldType

<!-- IKAnalyzer-->
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

2.定义一个field,指定field的Type属性为text_ik

<!--IKAnalyzer Field-->
<field name="title_ik" type="text_ik" indexed="true" stored="true" />
<field name="content_ik" type="text_ik" indexed="true" stored="false" multiValued="true"/>

配置完成后的效果如下:

第四步:重启tomcat,让配置生效

第五步:测试

7  拼音分词器的安装

首先需要准备好拼音分词器所需的jar包。

另外还需要用到第六步的ikanalyzer 中文分词器里面的一个jar包。

第一步:将solr-analyzer-ik-5.1.0.jar,pinyinAnalyzer4.3.1.jar,pinyin4j-2.5.0.jar三个jar包

导入到/usr/local/solr/tomcat/webapps/solr7/WEB-INF/lib目录下面。

第二步:修改/usr/local/solr/solrhome/new_core/conf下面的managed-schema文件

在其中加入下面的内容

     <!-- IK 拼音分词 -->
<fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>
<filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
<filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>
<filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
<filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
</analyzer>
</fieldType>

第三步:重启tomcat,查看效果

8 使用dataimport插件批量导入数据

配置前的效果

第一步:把dataimport插件的依赖的jar包添加到/usr/local/solr/solrhome/contrib/dataimporthandler/lib下,lib目录没有就创建一个

jar包的位置:

第二步:导入数据库的驱动包到/usr/local/solr/solrhome/contrib/dataimporthandler/lib下

数据的jar包需要自己去找。

一二两步后的效果:

第三步:修改/usr/local/solr/solrhome/new_core/conf下面的solrconfig.xml配置文件,添加一个requestHandler

<lib dir="${solr.install.dir:..}/contrib/dataimporthandler/lib" regex=".*\.jar" />
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>

第四步:创建一个data-config.xml文件保存到/usr/local/solr/solrhome/new_core/conf目录下

# vim data-config.xml

里面的内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://39.105.94.154:3306/lucene"
user="tom"
password="tom"/>
<document>
<entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">
<field column="pid" name="id"/>
<field column="name" name="product_name"/>
<field column="catalog_name" name="product_catalog_name"/>
<field column="price" name="product_price"/>
<field column="description" name="product_description"/>
<field column="picture" name="product_picture"/>
</entity>
</document>
</dataConfig>

dataSource和entity里面的内容根据自己的实际情况修改.

对于没有的域需要自己配置。

  <!--product-->
<field name="product_name" type="text_ik" indexed="true" stored="true"/>
<field name="product_price" type="float" indexed="true" stored="true"/>
<field name="product_description" type="text_ik" indexed="true" stored="false" />
<field name="product_picture" type="string" indexed="false" stored="true" />
<field name="product_catalog_name" type="string" indexed="true" stored="true" /> <field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="product_name" dest="product_keywords"/>
<copyField source="product_description" dest="product_keywords"/>

在managed-schema文件中加入上面的代码,效果如下

第五步:重启tomcat,让配置生效

第六步:点击Execute按钮导入数据。

勾选Auto-Refresh Status 可以自动刷新,看到导入的状态

入数据前会先清空索引库,然后再导入。

 

solr7.3.1在CentOS7上的安装的更多相关文章

  1. 【运维技术】CentOS7上从零开始安装阿里RocketMQ版本:release-4.0.1【亲测哈哈】

    CentOS7上从零开始安装阿里RocketMQ版本:release-4.0.1[亲测哈哈] 安装git # 更新包 $ yum update # 安装git $ yum install git # ...

  2. 分布式文件系统FastDFS在CentOS7上的安装及与Springboot的整合

    1. 概述 FastDFS 是目前比较流行的分布式文件系统,可以很容易的实现横向扩展.动态扩容.灾备.高可用和负载均衡. FastDFS 的服务分为 tracker 服务 和 storage 服务,  ...

  3. centos7上docker安装和使用教程

    Docker 是一个创建和管理 Linux 容器的开源工具.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上 ...

  4. Gitlab在Centos7上的安装

    一 官网说明 安装步骤:https://about.gitlab.com/install/#centos-7 安装说明:本文只是用来给微服务当配置中心,只是较浅的记录一下安装步骤,后面会详细讲解及在d ...

  5. 精简总结redis/rabbitmq/zookeeper在linux centos7上的安装

    因为本博主之前已经写过了相关的一些安装及集群,可以参考前面的记录,但是由于博最近更换了VM14和centos7,为了适应这些环境,所以后续会逐渐重新搭建相关环境,并对之前的安装思路进一步精简梳理,以期 ...

  6. 【运维技术】CentOS7上从零开始安装LAMP安装织梦DedeCMS教程

    前期准备数据 centos7 系统 安装 appache httpd # 更新httpd yum update httpd # 安装httpd yum install -y httpd # 启动服务 ...

  7. 在CentOs7上yum安装redis

    在开始安装步骤之前,先把我的CentOs和redis版本号列出来: # 系统/软件 版本号 1 CentOS7 CentOS Linux release 7.2.1511 (Core) 2 redis ...

  8. mongoDB在centos7上的安装

    1,下载安装包 下载MongoDB的安装文件 地址:https://www.mongodb.org/downloads#production 选择Linux 64-bit legacy 版本,下载到目 ...

  9. jumpserver V0.4.0 在CentOs7上的安装

    基于 CentOS 7 一步一步安装 Jumpserver 0.4.0 环境 系统: CentOS 7 IP: 192.168.226.128 一. 准备Python3和Python虚拟环境 1.1 ...

随机推荐

  1. PackageManagerService 学习记录 基于7.1.1源码

    参考: http://blog.csdn.net/innost/article/details/47253179 http://blog.csdn.net/gaugamela/article/deta ...

  2. Apache Sling

    最新打算研究下 Apache Sling ,在此记录下过程~ 官网地址 Apache Sling - Bringing Back the Fun! 带回快乐 Apache Sling™ is an i ...

  3. Sql Server免域,异地备份

    --先决条件 开启xp_cmdshellEXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_c ...

  4. asp:DropDownList 使用

    <asp:DropDownList ID="DropDownList1" runat="server" onchange="return My_ ...

  5. 制作DNS字典

    1.收集字典 一般kali自带的DNS爆破工具都会有自己的字典,使用  dpkg -L dns爆破软件名 查询字典的路径.txt文件一般是字典. 合并到一个txt文件中. 2.删除字典中重复的字符串 ...

  6. redis_字符串对象

    Redis总共支持五种数据类型:string,hash,list,set及zset.这里介绍字符串类型的实现 首先了解字符串对象的结构 // redis对象内存分配,列出主要相关的属性 redisOb ...

  7. 网页偶现性崩溃-chrome

    简介: 项目前台框架:Angular2 + Bootstrap(日期等组件) + Echarts + 响应式(包括页面.字体缩放:rem) chrome版本:多个版本测试均有此问题. 表现: 订单详情 ...

  8. vue webpack打包后 iconfont引入路径不对

    vue webpack打包后 iconfont引入路径不对 { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', option ...

  9. Spring-AspectJ 配置文件

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  10. <笔记>原生PHP访问TP模板变量

    在模板中,原生PHP可以直接访问模板变量,不过如果模板变量是数组,要访问数组中元素时不能使用"."符号,只能通过数组['元素名']的方式