安装solr

1 直接安装solr

此次安装的版本为solr 7.3 LInux为cetos 7

  1. 下载solr
    本地安装solr 连接
    链接:https://pan.baidu.com/s/1ZjQY5sAABPacfYPD_N5JSQ
    提取码:xezh

    在线安装
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/7.7.3/solr-7.7.3.tgz

    在这里插入图片描述

  2. 解压到指定目录并进入

 tar -zxf solr-7.7.3.tgz
 mv solr-7.7.3 /usr/local/solr
 cd /usr/local/solr/
  ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200505160729451.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Nhb3dlaWZlbmcxMg==,size_16,color_FFFFFF,t_70)

3.关掉防火墙
systemctl stop firewalld
4. 启动solr
bin/solr start -force (注意因为root用户默认不能启动solr所以在后面加上 -force)在这里插入图片描述
3. 访问solr

在这里插入图片描述
4. 创建一个core
bin/solr create -c demo
在这里插入图片描述
刷新页面
在这里插入图片描述

  1. 布置中文分词器
    1. 解压ik-analyzer-8.3.0.jar
      (注意需要用unzip没有请下载: yum -y istall unzip zip)

    2. unzip ik-analyzer-8.3.0.jar -d ik-analyzer-8.3.0
      在这里插入图片描述

    3. 进入解压目录
      cd ik-analyzer-8.3.0
      在这里插入图片描述

    4. 执行一下命令 创建classes目录

      mkdir /usr/local/solr/server/solr-webapp/webapp/WEB-INF/classes

      在这里插入图片描述
      5. 执行一下命令将这几个文件复制到classes目录

      cp dict/ dynamicdic.txt ext.dic IKAnalyzer.cfg.xml ik.conf stopword.dic /usr/local/solr/server/solr-webapp/webapp/WEB-INF/classes
      

在这里插入图片描述
6. 将ik-analyzer-8.3.0.jar 拷贝到lib下

cp ik-analyzer-8.3.0.jar /usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib

在这里插入图片描述
7. 进入刚才创建的core的配置文件

		     cd /usr/local/solr/server/solr/demo/conf
			 vim managed-schema
			 :/fieldType
		将下面的配置复制进去保存后退出:/wq
    <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>

在这里插入图片描述
8. 重新启动slor
bin/solr start -force
(vim /usr/local/solr/bin/solr.in.sh
将SOLR_ULIMIT_CHECKS设置为false,消除WARN
在这里插入图片描述

)

访问slor
下面是使用
在这里插入图片描述

2 部署在tomcat上

参考


3 从外部导入数据

  1. 用xml方式导入,出现一下情况

在这里插入图片描述

  1. 进入new_core下的conf文件下,创建my-data-config.xml文件
    touch my-data-config.xml
  2. 编辑此文件
    vim my-data-config.xml
    在这里插入图片描述
    将一下数据添加就去
    在这里插入图片描述
<?xml version="1.0" encoding="UTF-8"?> 
<dataConfig>
    <dataSource name="source-materail" type="JdbcDataSource"
              driver="com.mysql.jdbc.Driver"  <!--数据库驱动-->
              url="jdbc:mysql://127.0.0.1:3306/itripdb"  <!--连接数据库 : itripdb是要连接的数据库-->
              user="root"							<!--数据库用户名-->
              password="weifeng123456" />			<!--数据库密码-->
    <document>
    <!--
		entity name -- name是唯一的,用以标识entity  pk  -- entity的主键,它是可选的,但使用“增量导入”的时候是必需。它跟schema.xml中定义的uniqueKey没有必然的联系,但它们可以相同。  query 查询sql语句 
		field  column -- 数据库字段  name -- managed-schema中的字段
	-->
        <entity name="itrip_area_dic"  pk="id" query="select id,name,areaNo from itrip_area_dic ">
			<field column='id' name='id' />
            <field column='name' name='name' />
            <field column='areaNo' name='areaNo' />
		</entity>
    </document>
</dataConfig>

关于这个文件的配置请参考

  1. 编辑managed-schema 将要查询的字段添加进去
    把需要分词的中文改为中文用中文分词器
    type="text_ik"
    在这里插入图片描述

  2. 在solrconfig.xml设置
    把一些代码在xml中加入

  <requestHandler name="/dataimport" class="solr.DataImportHandler">
	<lst name="defaults">
		<str name="config">my-data-config.xml</str>
		  <!--<str name="update.chain">uuid</str>    -->
	</lst>
</requestHandler>

在这里插入图片描述
6. 这是重启tomcat重新访问solr
在这里插入图片描述
7. 下面是简单用法
在这里插入图片描述