solr配置与集成ik分词器,导入数据库

Solr安装配置

一、Solr各种版本集合下载:http://archive.apache.org/dist/lucene/solr/

二、Solr安装配置

1.JDK配置:jdk1.8.0_151;Tomcat配置:apache-tomcat-8.0.47

2.解压solr-7.2.1.zip ,解压目录:F:\software\solr-7.2.1

3.把solr7.2.1目录下的server/solr-webapp/webapp文件夹复制到tomcat/webapp的目录下,并重命名为solr

4.拷贝solr7.2.1\server文件夹到D盘,并重命名为solr-home,用来做solrHome,也就是solrCore的实例存放位置

5.打开tomcat/webapp/solr/WEB-INF/web.xml,配置solr-home

改成

6.将solr-7.2.1\server\solr下的solr.xml复制到solr-7.2.1\server\下,

不然会报solr.xml does not esist in错误。

7.在tomcat/webapp/solr/WEB-INF/文件夹中,建立classes目录

 

8.把solr7.2.1/server/resource/log4j.properties 复制到上一步建立的classes目录中。

9.拷贝solr7.2.1\server\lib\ext下的jar包到tomcat下的webapps\solr\WEB-INF\lib路径下;拷贝solr7.2.1\dist下的solr-dataimporthandler-7.2.1.jar、solr-dataimporthandler-extras-7.2.1.jar包到tomcat下的webapps\solr\WEB-INF\lib路径下;拷贝solr7.2.1\server\lib下的metrics开头的5个jar到tomcat下的webapps\solr\WEB-INF\lib路径下。当拷贝完成后应该是83个jar。

10.去掉权限,不然访问solr会出现没有授权的错误。

打开webapps\solr\WEB-INF\web.xml 找到163行,注释部分内容。(就是最下面)

现在已经可以正常启动了,

启动Tomcat8,即可访问solr的管理控制台【http://localhost:8080/solr/index.html】

Solr配置数据库,全量增量导入solr。

2.1  首先在solr控制台上创建一个core,名字叫做product。

2.2点击提交之后会报错:

其实在本地已经有了这个product:地址就是:F:\software\solr-7.2.1\server

2.3找到F:\software\solr-7.2.1\server\solr\configsets\_default目录,复制conf文件夹到上一步的product文件夹里面。

 

 

2.4然后去控制台重新创建刚才创建错误的core,也就是product。

创建成功。

2.6 选择刚才创建的core(product)。

 

 

2.7 测试一下分词,这种分词对中文不是很友好,需要添加ik分词器,或者7.2.1自带的分词器。

                       

2.8  下载ik分词器

链接:https://pan.baidu.com/s/1so6WiLkHXxTDmrHNFSdSuw

提取码:wtrb .

分词器里面的内容如下:

 

拷贝jar放到tomcat\webapps\solr\web-inf\lib下

将剩余的三拷贝到C:\tomcat-8\webapps\solr\WEB-INF\classes文件夹下

2.9 回到F:\software\solr-7.2.1\server\product\conf用编辑器打开managed-schema文件。添加以下代码。就是solrhome指定目录下新建的core(这里是product)文件夹下。

 

<!-- 添加IK分词 -->

       <fieldType name="text_ik" class="solr.TextField">

           <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>

       </fieldType>

    <field name="my_name" type="text_ik" indexed="true" stored="true" multiValued="false" />

 

 

 

 

 

mysql数据导入到solr中

3.1 回到这个目录下 F:\software\solr-7.2.1\server\product\conf

在solr-config.xml的末尾添加如下代码。其中data-config.xml 需要在solrconfig.xml同级目录下自己手动创建。

  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />

    <requestHandler name="/dataimport"     class="org.apache.solr.handler.dataimport.DataImportHandler">

      <lst name="defaults">

         <str name="config">data-config.xml</str>

      </lst>

</requestHandler>

 

3.2 在同级目录下创建data-config.xml 文件。

 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<dataConfig>

    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"

                     url="jdbc:mysql://127.0.0.1:3306/test"

                        user="root"

                        password="root"

                        batchSize="-1" />  

    <document>

        <entity name="product" query="select p.ProId,p.contentTitle,p.Keywords,p.Description,p.Title,pd.name cate_nameCode,pdt.name cate_nameId from product p  inner join productcategory pd on p.CategoryCode = pd.Id INNER JOIN productcategory pdt on pd.pid = pdt.Id">

         

             <!--column的id是数据库的id,name的id是managed_schema里面的id,id是必须,并且唯一的-->

            <field column="ProId" name="id" />    

            <field column="contentTitle" name="pro_contentTitle" />

            <field column="Keywords" name="pro_Keywords" />

            <field column="Description" name="pro_Description" />

            <field column="Title" name="pro_Title" />

                

                 <field column="cate_nameCode" name="cate_nameCode" />

                 <field column="cate_nameId" name="cate_nameId" />

                

        </entity>

    </document>

</dataConfig>

 

3.3 编写managed_schema,添加上dataconfig.xml里查询出来的mysql 字段

  <field name="pro_Description" type="text_ik" indexed="true" stored="true"/>

  <field name="pro_Keywords" type="text_ik" indexed="true" stored="true"/>

  <field name="pro_Title" type="text_ik" indexed="true" stored="true"/>

  <field name="pro_contentTitle" type="text_ik" indexed="true" stored="true"/>

  <field name="cate_nameCode" type="text_ik" indexed="true" stored="true"/>

  <field name="cate_nameId" type="text_ik" indexed="true" stored="true"/>

 

这里面没有配置查询出来的id,因为solr自带了id所以不用写了。Managed-schema.xml里用不到的<filed>可以全部删除。

3.4 重新启动tomcat 进入solr的core里

点击完成之后

 

完美导入。。。。。。。。。。。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小tu豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值