安装Solr7和Solr7集群并安装IK以及连接数据库

转载请表明出处 https://blog.csdn.net/Amor_Leo/article/details/85256735 谢谢

安装单机Solr

官方把整个solr项目与jetty整合了,可直接运行,不需要把solr弄到tomcat上运行了!!

安装jdk8

之前写过 jdk8安装

安装solr

创建文件夹

mkdir /usr/local/solr
cd /usr/local/solr

下载

wget http://mirrors.hust.edu.cn/apache/lucene/solr/7.6.0/solr-7.6.0.tgz

解压

tar -zxvf solr-7.6.0.tgz -C /usr/local/solr

放行端口号

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

启动

./usr/local/solr/solr-7.6.0/bin/solr start -force

在这里插入图片描述

  • 命令
./usr/local/solr/solr-7.6.0/bin/solr  stop -all 		
./usr/local/solr/solr-7.6.0/bin/solr  status

创建solr core

  1. 创建core目录(名字自己定)

    mkdir  -p  /usr/local/solr/solr-7.6.0/server/solr/new_core
    
  2. 复制配置文件

    cp -r /usr/local/solr/solr-7.6.0/server/solr/configsets/_default/conf/  /usr/local/solr/solr-7.6.0/server/solr/new_core/
    
  3. 在页面添加new_core(与刚刚创建的core目录名一致)
    在这里插入图片描述

  • 或者使用命令
    ./usr/local/solr/solr-7.6.0/bin/solr create –c new_core
    

可以看见new_core目录下多了两个目录
在这里插入图片描述
在这里插入图片描述

配置IK分词

  • 下载
    网盘 提取码:kcs2
    把ik压缩包放入到你的liunx系统 (我是用xftp) /usr/local/Ik 路径下
    mkdir -p /usr/local/Ik
    cd /usr/local/Ik
    
  • 解压
    unzip ikanalyzer-solr6.5.zip 
    
  • 复制jar
    cd ikanalyzer-solr5/
    cp ik-analyzer-solr5-5.x.jar /usr/local/solr/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/lib/
    cp solr-analyzer-ik-5.1.0.jar /usr/local/solr/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/lib/
    
  • 复制配置文件
    mkdir -p /usr/local/solr/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/classes
    cp ext.dic /usr/local/solr/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/classes/
    cp stopword.dic /usr/local/solr/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/classes/
    cp IKAnalyzer.cfg.xml /usr/local/solr/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/classes/
    
  • 修改schema
    vim /usr/local/solr/solr-7.6.0/server/solr/new_core/conf/managed-schema
    
    <fieldType name="text_ik" class="solr.TextField">  
        <analyzer type="index" useSmart="false"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
        <analyzer type="query" useSmart="true"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
    </fieldType> 
    
    在这里插入图片描述
    • 查看是否成功
      • 重启Solr
      ./usr/local/solr/solr-7.6.0/bin/solr  stop -all
      ./usr/local/solr/solr-7.6.0/bin/solr start -force
      

在这里插入图片描述

连接数据库

  • 下载jar
    官网

    cd /usr/local/solr/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/lib/
    wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
    
    wget http://central.maven.org/maven2/org/apache/solr/solr-dataimporthandler-extras/7.6.0/solr-dataimporthandler-extras-7.6.0.jar
    
    wget http://central.maven.org/maven2/org/apache/solr/solr-dataimporthandler/7.6.0/solr-dataimporthandler-7.6.0.jar
    
  • 配置连接信息

    • 修改solrconfig.xml
    vim /usr/local/solr/solr-7.6.0/server/solr/new_core/conf/solrconfig.xml
    
      <!-- mysql导入增加的包--> 
      <lib dir="${solr.install.dir:../../../..}/dist/" regex="mysql-connector-java-.*\.jar" /> 
      <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" /> 
    

    在这里插入图片描述
    在requestHandler name="/select" class="solr.SearchHandler"上添加

    	<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
    vim /usr/local/solr/solr-7.6.0/server/solr/new_core/conf/data-config.xml
    
    <?xml version="1.0" encoding="UTF-8"?>
    <dataConfig>
        <dataSource type="JdbcDataSource"
                    driver="com.mysql.jdbc.Driver"
                    url="jdbc:mysql://192.168.0.109:3306/solrtest"
                    user="root"
                    password="root" />
        <document>
            <entity name="user" query="select * from user">
                <field column="uid" name="uid" />
                <field column="username" name="username" />
                <field column="passward" name="passward" />	            
           	 <field column="hobby" name="hobby" />
            	 <field column="login_time" name="login_time" />
     		  </entity>
        </document>
    </dataConfig>
    
    • dataSource :
      • url : 是数据库路径
      • user : 是用户名
      • password : 是数据库密码
    • document : 配置数据库查询语句与managed_schema对应
      • entity : 数据库表
        • query : 是一个sql语句,查询
      • field : 有多个查询字段就需要有多个field标签,每一个field标签对应一个字段
        • column : 是查询的字段,跟数据库中对应
        • name : 是一个别名,与managed-schema中的field标签的name属性对应
    • 修改managed-schema
    vim /usr/local/solr/solr-7.6.0/server/solr/new_core/conf/managed-schema
    
    <!-- 自己导入的字段 -->
    <field name="uid" type="pint" indexed="true" stored="true" />
    <field name="username" type="text_ik" indexed="true" stored="true" />
    <field name="passward" type="string" indexed="true" stored="true" />
    <field name="hobby" type="string" indexed="true" stored="true" />
    <field name="login_time" type="pdate" indexed="true" stored="true" />
    

    在这里插入图片描述

    • field :
      • name : 字段的名称
      • type : 字段的类型
      • indexed :是否索引,索引的话就能查询到,否则,搜索的时候,不会出现
      • stored : 是否存储到索引库里面
      • required:是否必须
      • multiValued:是否多个值
      • Unique:字段是否可以重复
  • 重启Solr

./usr/local/solr/solr-7.6.0/bin/solr  stop -all
./usr/local/solr/solr-7.6.0/bin/solr start -force
  • 数据导入
    在这里插入图片描述
    在这里插入图片描述

solr集群

zk集群搭建

之前写过 Docker搭建zookeeper集群 或者 安装zookeeper集群

  • 环境
    • zk
      192.168.0.111:2181
      192.168.0.112:2181
      192.168.0.113:2181
    • solr
      192.168.0.111
      192.168.0.112
      192.168.0.113

solr集群

创建文件夹

三台分别执行

mkdir -p /usr/local/solrCloud/

下载

三台分别执行

cd /usr/local/solrCloud/
wget http://mirrors.hust.edu.cn/apache/lucene/solr/7.6.0/solr-7.6.0.tgz

解压

三台分别执行

tar -zxvf solr-7.6.0.tgz -C /usr/local/solrCloud/

修改配置文件

三台分别执行

  • 修改 solr.in.sh

    vim /usr/local/solrCloud/solr-7.6.0/bin/solr.in.sh
    
    • 192.168.0.111
    ZK_HOST="192.168.0.111:2181,192.168.0.112:2181,192.168.0.113:2181"
    SOLR_HOST="192.168.0.111"
    SOLR_PORT=8983
    
    • 192.168.0.112
    ZK_HOST="192.168.0.111:2181,192.168.0.112:2181,192.168.0.113:2181"
    SOLR_HOST="192.168.0.112"
    SOLR_PORT=8983
    
    • 192.168.0.113
    ZK_HOST="192.168.0.111:2181,192.168.0.112:2181,192.168.0.113:2181"
    SOLR_HOST="192.168.0.113"
    SOLR_PORT=8983
    
  • 修改 solr.xml

    vim /usr/local/solrCloud/solr-7.6.0/server/solr/solr.xml
    
    • 192.168.0.111
    <str name="host">${host:192.168.0.111}</str>
    
    • 192.168.0.112
    <str name="host">${host:192.168.0.112}</str>
    
    • 192.168.0.113
    <str name="host">${host:192.168.0.113}</str>
    
  • 配置IK分词
    三台分别执行

    • 下载
      网盘 提取码:kcs2
      把ik压缩包放入到你的liunx系统 (我是用xftp) /usr/local/Ik 路径下
      mkdir -p /usr/local/Ik
      cd /usr/local/Ik
      
    • 解压
      unzip ikanalyzer-solr6.5.zip 
      
    • 复制jar
      cd ikanalyzer-solr5/
      cp ik-analyzer-solr5-5.x.jar /usr/local/solrCloud/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/lib/
      cp solr-analyzer-ik-5.1.0.jar /usr/local/solrCloud/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/lib/
      
      • 复制配置文件
      mkdir -p /usr/local/solrCloud/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/classes
      cp ext.dic /usr/local/solrCloud/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/classes/
      cp stopword.dic /usr/local/solrCloud/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/classes/
      cp IKAnalyzer.cfg.xml /usr/local/solrCloud/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/classes/
      
    • 下载连接数据库jar
      官网
      三台分别执行
    • mysql-connector-java-x.x.x.jar
      mysql-connector-java
      一定要与自己数据库版本一致
    cd /usr/local/solrCloud/solr-7.6.0/server/solr-webapp/webapp/WEB-INF/lib/
    wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
    
    wget http://central.maven.org/maven2/org/apache/solr/solr-dataimporthandler-extras/7.6.0/solr-dataimporthandler-extras-7.6.0.jar
    
  • solr-dataimporthandler-x.x.x.jar
    solr-dataimporthandler

    wget http://central.maven.org/maven2/org/apache/solr/solr-dataimporthandler/7.6.0/solr-dataimporthandler-7.6.0.jar
    

放行端口号

三台分别执行

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

上传配置文件 conf

我用的是之前搭建的单机版solr

cd /usr/local/solr/solr-7.6.0/server/scripts/cloud-scripts
./zkcli.sh -zkhost 192.168.0.111:2181,192.168.0.112:2181,192.168.0.113:2181 -cmd upconfig -confdir /usr/local/solr/solr-7.6.0/server/solr/new_core/conf -confname myconf

启动

三台分别执行

./usr/local/solrCloud/solr-7.6.0/bin/solr start -force

创建collection

选取其中一个节点运行

http://其中一个solr节点的IP:8983/solr/admin/collections?action=CREATE&name=testcore&numShards=3&replicationFactor=3&maxShardsPerNode=3&autoAddReplicas=true&collection.configName=myconf

如果不指定配置文件 &collection.configName=myconf 那么就是默认_default/conf

http://192.168.0.111:8983/solr/admin/collections?action=CREATE&name=testcore&numShards=3&replicationFactor=3&maxShardsPerNode=3&autoAddReplicas=true&collection.configName=myconf
  • 删除collection
http://其中一个solr节点的IP:8983/solr/admin/collections?action=DELETE&name=testcore&numShards=3&replicationFactor=3&maxShardsPerNode=3&autoAddReplicas=true
http://192.168.0.111:8983/solr/admin/collections?action=DELETE&name=testcore&numShards=3&replicationFactor=3&maxShardsPerNode=3&autoAddReplicas=true

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值