【linux】服务器安装solr8.4.0

   日期:2020-08-22     浏览:80    评论:0    
核心提示:docker pull solr:7.5.02、启动solr服务docker run --name my_solr -d -p 8983:8983 -t solr:7.5.02.1 创建一个solr库创建一个名叫gettingstarted的库 生成的库存储在 /var/solr/data/gettingstarted 目录。 docker exec -it --user=solr my_solr bin/solr create_core -c gettingstarted完成后,进入solr

文章目录

    • 一.jen中安装solr8.4.0
        • solr 配置IK中文分词
    • 二.tomcat下部署solr
        • 中文分析器配置
        • 业务字段配置

一.jen中安装solr8.4.0

  1. docker拉取solr

docker pull solr:8.4.0

  1. 创建并运行的solr容器

docker run --name solr -d -p 8983:8983 solr:8.4.0

1.run 运行容器
2.-d 后台运行
3.-p 容器端口和宿机端口映射
4.-- name 容器名称
5. solr 指镜像名称

注意:如果没有开启防火墙则跳过,如果开启防火墙了需要执行下面的代码;

运行之后我们防火墙放行端口号的命令:

firewall-cmd --zone=public --add-port=8983/tcp --permanent

加载刚刚防火墙放行端口:

firewall-cmd --reload

使用服务器的需要去安全组设置端口即可:

  1. 创建核心

docker exec -it --user=solr solr bin/solr create_core -c Ik_core

之后我们可以在浏览器输入IP:8389 看看有没有页面出现;

solr 配置IK中文分词

jar的百度网盘:https://pan.baidu.com/s/1ExTcCVfn_zltmGJDhxWhgQ
提取码:zxxp
  1. 推荐在本地先解压然后把四个jar传到linux //usr/local/IK (IK需要自己创建文件夹)

mkdir -p /usr/local/IK 在这里放jar同时我们从本地拿需要用到文件/jar 到在这里

cd /usr/local/IK

docker cp  ik-analyzer-8.3.0.jar solr:/opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF/lib/
docker cp  ik-analyzer-solr7-7.x.jar solr:/opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF/lib/
docker cp  solr-dataimporthandler-8.4.0.jar solr:/opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF/lib/
docker cp solr-dataimporthandler-extras-8.4.0.jar  solr:/opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF/lib/

复制配置文件:

  1. 使用root用户(超级管理)进入solr 的容器里创建文件夹
docker exec  -it --user=root solr /bin/bash
cd /opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF
创建文件夹(classes)
mkdir classes
退出容器:
exit
docker cp IKAnalyzer.cfg.xml solr:/opt/solr-8.4.0/server/solr-webapp/webapp/WEB-INF/classes/
  1. 修改managed-schema:进去solr的容器因为创建核心名称默认的路径是在/var/solr/data/核心名称 而solr 默认在opt/solr-8.4.0/

因此我们要到solr 的容器命令:

docker exec -it --user=root solr /bin/bash

  1. 下载vim编辑:
apt-get  update
apt-get install vim

cd /var/solr/data/Ik_core/conf
vi managed-schema  

在最下面添加:

<fieldType name="text_ik" class="solr.TextField">		
	<analyzer type="index">		
		<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" />		
		<filter class="solr.LowerCaseFilterFactory"/>			
		</analyzer>		
		<analyzer type="query">		
		<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" />	
	<filter class="solr.LowerCaseFilterFactory"/>	
	</analyzer>			
</fieldType>

vi solrconfig.xml

在最下面添加:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
      <lst name="defaults">
             <str name="config">db-data-config.xml</str>  
       </lst>  
    </requestHandler>

ok,配置IK 完成,退出容器:exit

  1. 重启solr 的容器:
    docker restart solr

在浏览器输入IP:8983

二.tomcat下部署solr

链接:https://pan.baidu.com/s/1dyI24sQaMqhB8xav51y6_A 
提取码:uagp 
复制这段内容后打开百度网盘手机App,操作更方便哦
  1. 需要的安装包:apache-tomcat-8.0.5.tar.gz、solr-4.10.3.tgz.tgz(jdk自行安装)
    tomcat 8.0以上 jdk1.8以上

  2. 解压tomcat并创建solr文件夹

tar -zxf apache-tomcat-8.0.5.tar.gz
mkdir /usr/local/solr
  1. 将tomcat解压后的文件夹拷贝到solr的tomcat文件夹中

cp apache-tomcat-8.0.5 /usr/local/solr/tomcat -r

  1. 把solr的压缩包上传到服务器后并解压,然后把/root/solr-4.10.3/dist/solr-4.10.3.war包部署到tomcat下。并改名为solr.war
tar -zxf solr-4.10.3.tgz.tgz
cp solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war
  1. 解压war包。启动tomcat自动解压。然后关闭tomcat,删除war包
    ./startup.sh
问题:
用./startup.sh启动时候提示权限不够
chmod u+x *.sh
  1. /root/solr-4.10.3/example/lib/ext 目录下所有的jar包复制到solr工程中
    进入之前解压缩的文件中solr-4.10.3\example\lib\ext下的jar 拷贝到solr工程中的web-inf\lib目录下

cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

  1. 创建solrhome文件夹,该文件夹用来存放solr服务器所有配置文件。将/root/solr-4.10.3/example中的solr文件夹拷贝至solrhome

cp -r solr /usr/local/solr/solrhome

  1. 关联solr数据存放的地址,需要修改工程中solr的web.xml文件
<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/usr/local/solr/solrhome</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
  1. 启动tomcat

中文分析器配置

  1. 把IK-Analyzer分析器的文件夹上传到服务器

  2. 把分析器的jar包添加到solr工程中

cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

  1. 把IKAnalyzer需要的扩展词典及停用词词典、配置文件复制到solr工程的WEB-INF/classes文件夹中

cp IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes

  1. 修改solrhome\collection1\conf目录下的schema.xml文件,配置一个fieldType,使用IK分词,在solrhome/collection1/conf/schema.xml中配置filedType
<fieldType name="text_ik" class="solr.TextField" >
			 <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
 </fieldType>

业务字段配置

  1. solrhome/collection1/conf/schema.xml中配置,根据业务需要选择相应的字段对应solr的字段
<field name="landlady_id"  type="text_ik" indexed="true"  stored="true" />
<field name="province_id"  type="text_ik" indexed="true"  stored="true" />
<field name="city_id"  type="text_ik" indexed="true"  stored="true" />
<field name="area_id"  type="text_ik" indexed="true"  stored="true" />
<field name="province_name"  type="text_ik" indexed="true"  stored="true" />
<field name="city_name"  type="text_ik" indexed="true"  stored="true" />
<field name="area_name"  type="text_ik" indexed="true"  stored="true" />
<field name="residential_quarters"  type="text_ik" indexed="true"  stored="true" />
<field name="street_name"  type="text_ik" indexed="true"  stored="true" />
<field name="lou_no"  type="text_ik" indexed="true"  stored="true" />
<field name="house_no"  type="text_ik" indexed="true"  stored="true" />
<field name="house_type"  type="text_ik" indexed="true"  stored="true" />
<field name="dept_info"  type="text_ik" indexed="true"  stored="true" />
<field name="pid"  type="text_ik" indexed="true"  stored="true" />
<field name="longitude"  type="text_ik" indexed="true"  stored="true" />
<field name="latitude"  type="text_ik" indexed="true"  stored="true" />
<field name="state"  type="text_ik" indexed="true"  stored="true" />
<field name="del_flag"  type="text_ik" indexed="true"  stored="true" />
<field name="create_time"  type="text_ik" indexed="true"  stored="true" />
<field name="update_time"  type="text_ik" indexed="true"  stored="true" />
<field name="orientation"  type="text_ik" indexed="true"  stored="true" />
<field name="landlady_name"  type="text_ik" indexed="true"  stored="true" />
<field name="landlady_telphone"  type="text_ik" indexed="true"  stored="true" />
<field name="operator_id"  type="text_ik" indexed="true"  stored="true" />
<field name="signing_start_time"  type="text_ik" indexed="true"  stored="true" />
<field name="signing_end_time"  type="text_ik" indexed="true"  stored="true" />
<field name="landlady_price"  type="double" indexed="true"  stored="true" />
  1. 重启tomcat
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服