Linux下solr-4.10.3的安装和配置并导入数据库数据

  • 各种安装包准备:

 (1)tomcat7,tar类型。下载地址:https://www-us.apache.org/dist/tomcat/tomcat-7/v7.0.93/bin/apache-tomcat-7.0.93.tar.gz

 (2)IK Analyzer 2012 下载地址:https://dl.pconline.com.cn/download/1456092-1.html

 (3)mysql-connector-java-5.1.46-bin:数据库驱动 下载地址:https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.46.zip

 (4)solr-4.10.3 下载地址:http://archive.apache.org/dist/lucene/solr/4.10.3/solr-4.10.3.tgz   这个需要翻墙才能下得快一点,建议用谷歌set up。

  • 把东西移入linux虚拟机下

 (1)先进入 : 命令[root@localhost local]#  cd /usr/local/   然后,创建一个solr文件夹:命令[root@localhost local]#  mkdir solr  

(2)把东西都移入/usr/local/文件夹下面,先来到你windows放所有文首提到东西的地方,然后执行命令 

 scp -r * root@192.168.43.197:/usr/local/    其中*代表当前文件夹所有文件。

(3)解压tomcat

[root@localhost local]# tar -zxf apache-tomcat-7.0.93.tar.gz

(4)移入solr文件夹内

[root@localhost local]# cp apache-tomcat-7.0.93 /usr/local/solr/tomcat -r

(5)解压solr-4-10-3-tgz

[root@localhost local]# tar -zxf solr-4.10.3.tgz

(6)将解压好的war包移入tomcat,在solr-4.10.3/dist里面solr-4.10.3.war

[root@localhost dist]# cp solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war

(7)到 solr/tomcat/bin下面启动tomcat(你可能会遇到tomcat启动以后进入不了8080端口,并且不能解压solr.war看这篇文章https://blog.csdn.net/wk_dream/article/details/46273831,设置一下javahome和jre就ok了)

[root@localhost bin]# sh startup.sh

(8)启动完成以后接着关闭tomcat(这两步的目的是解压solr.war)

[root@localhost bin]# sh shutdown.sh

(9)然后到webapps下面移除solr.war(一定要做,不然到时候写的所有配置都不能用)

root@localhost webapps]# rm -rf solr.war 

(10)把/usr/local/solr-4.10.3/example/lib/ext 目录下所有的jar包复制到solr工程中

[root@localhost ext]# cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

(11)创建solrhome文件夹将/root/solr-4.10.3/example中的solr文件夹拷贝至solrhome

[root@localhost webapps]# cp -r solr /usr/local/solr/solrhome

(12)在solr工程中的web.xml文件中指定solrhome的位置

[root@localhost webapps]# vi solr/WEB-INF/web.xml 

(13)输入如下:其中value就是刚刚配置solrhome的地方。

    <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>

(14)好了初步是配置完成了

输入http://192.168.43.197:8080/solr访问solr

(15)配置ik中文分词器先进入IK Analyzer 2012FF_hf1文件夹里复制 IKAnalyzer2012FF_u1.jar到lib tomcat项目用来引用

[root@localhost IK Analyzer 2012FF_hf1]# cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

(16)移动其他文件断词和一些乱七八糟的到classes,如果没有classes文件夹就自己创建一个

[root@localhost IK Analyzer 2012FF_hf1]# cp IKAnalyzer.cfg.xml stopword.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/

(17)配置分词器调用域,在solrhome/collection1/conf/schema.xml中配置filedType

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

(18)完成ik分词器配置现在重启tomcat然后查看ip地址:8080/solr/查看效果。

(19)接着导入数据库数据,为了使dataimpor功能有作用cd solr-4.10.3/dist目录下的solr-dataimporthandler-4.10.4.jar和solr-dataimporthandler-extras-4.10.4.jar复制到tomcat/webapps/solr/WEB-INF/lib/下。

[root@localhost dist]# cp solr-dataimporthandler-4.10.3.jar solr-dataimporthandler-extras-4.10.3.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

(20)导入数据库驱动包,把mysql的驱动包mysql-connector-java-5.1.46-bin.jar放到/usr/local/solr/tomcat/lib/下。

[root@localhost local]# cp mysql-connector-java-5.1.46-bin.jar /usr/local/solr/tomcat/lib/

(21)最后一段有差不多的配置语句,在那儿修改,修改配置文件,使他的指向数据库数据配置文件。

[root@localhost local]# vi solr/solrhome/collection1/conf/solrconfig.xml

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

<lst name="defaults">

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

</lst>

</requestHandler>

(22)在同一目录下创建data-config.xml

[root@localhost conf]# vi data-config.xml 

字段根据自己的数据库进行修改。

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
    <dataSource name="source1" type="JdbcDataSource"
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/migo?useSSL=true&amp;serverTim
ezone=UTC"
              user="root"
              password="123456" />
    <document>
        <entity name="item" dataSource="source1" pk="id"
            query="SELECT * FROM tb_item">
            <field column='id' name='id' />
                        <field column='title' name='item_title'/>
                        <field column='sell_point' name='item_sell_point' />
                        <field column='price' name='item_price' />
                        <field column='image' name='item_image' />

        </entity>
    </document>
</dataConfig>

(23)修改与solrconfig.xml的同级目录中的scheme.xml,在其中添加data-config.xml中定义的field信息


   <field name='item_title' type="text_ik" indexed="true" stored="true" />
   <field name='item_sell_point' type="text_ik" indexed="true" stored="true" />
   <field name='item_price' type="float" indexed="true" stored="true" />
   <field name='item_image' type="string" indexed="true" stored="true"/>


   <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
   <copyField source="item_title" dest="item_keywords" />
   <copyField source="item_sell_point" dest="item_keywords" />

(24)导入数据库数据。

导入成功以后,

显示得就是你导入得索引了,结束,d=====( ̄▽ ̄*)b

参考文章:

https://blog.csdn.net/weixin_36413887/article/details/79071468   这篇文章有个配置错了。

https://www.cnblogs.com/guxiong/p/6284938.html

我把两者整合,并自己做了两遍。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值