天天看点

solr在tomcat下的安装部署

1.下载solr项目包  或者上传压缩包到服务器   直接去官网下载  https://lucene.apache.org/solr/downloads.html   或者

     wget   https://mirror.bit.edu.cn/apache/lucene/solr/7.7.3/solr-7.7.3.tgz

2.解压

   tar -zxvf solr-7.7.3.tgz

3.下载解压tomcat

   cd /opt/moudle/tomcat

   tar -zxvf apache-tomcat-8.5.55.tar.gz

4. Solr 解压后server/solr-webapp下一个webapp目录,它就是Solr的Web项目,把它复制到 tomcat的webapps目录下并改名为solr

   # 进入Solr的server目录下

    cd /opt/moudle/solr/solr-7.7.3/server/solr-webapp

   # 复制webapp目录到tomcat-solr的webapps目录下

    cp -r webapp/ /opt/moudle/tomcat/apache-tomcat-8.5.55/webapps

   # 将Solr的web应用改名

    cd /opt/moudle/tomcat/apache-tomcat-8.5.55/webapps

   # 将webapp重命名为solr

     mv webapp solr

5. 复制所需依赖jar包

  #复制solr-7.7.3\server\lib\ext 下的jar包到/apache-tomcat-8.5.55\webapps\solr\WEBINF\lib下(即刚刚复制并重命名为solr的文件夹下)

 cd /opt/moudle/solr/solr-7.7.3/server/lib      

 cp ext/* /opt/moudle/tomcat/apache-tomcat-8.5.55/webapps/solr/WEB-INF/lib/

  #复制solr-7.7.3\server\lib下所有metrics-开头的jar包(一共有5个)到/apache-tomcat-8.5.55/webapps/solr/WEB-INF/lib/     

  cp metrics-* /opt/moudle/tomcat/apache-tomcat-8.5.55/webapps/solr/WEB-INF/lib/

6. 配置solrhome  这个目录用于存储Solr Core的数据及配置文件 

  #首先创建solrhome存储Solr索引文件      

   mkdir -p /usr/local/solr/solrhome

  #复制server/solr目录下所有内容到solrhome

    cd  /opt/moudle/solr/solr-7.7.3/server/solr

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

7. 配置Tomcat  

   修改web.xml  修改复制到tomcat中的Solr项目中的 WEB-INF 目录下的 web.xml 配置文件  

     修改 solr_home 路径指向我们刚刚创建的 solrhome

    cd /opt/moudle/tomcat/apache-tomcat-8.5.55/webapps/solr/WEB-INF

    vi 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>
           
solr在tomcat下的安装部署

去掉安全认证

solr在tomcat下的安装部署

8.启动tomcat  访问测试

   cd /opt/moudle/tomcat/apache-tomcat-8.5.55/bin

   ./startup.sh

   # 访问tomcat

    http://192.168.70.80:8080/

solr在tomcat下的安装部署

#solr访问

http://192.168.70.80:8080/solr/index.html

solr在tomcat下的安装部署

6.配置solr_core

   # /opt/moudle/solr/solr-7.7.3/server/solr/configsets/_default/conf     到 solrhome/new_core

    cd /usr/local/solr/solrhome

    cp /opt/moudle/solr/solr-7.7.3/server/solr/configsets/_default/conf -rf new_core

  # 修改   managed-schema   为  schema.xml    

    cd new_core/

    mv managed-schema schema.xml

Solr数据操作 

  1.使用dataimport 导入数据库数据

   ①. 首先找到solr7.7.3/dist/solr-dataimporthandler-7.7.3.jar 和 solr-dataimporthandler-extras7.7.3.jar,复制到tomcat/webapp/solr/WEB-INF/lib/下,并且找到相应数据库的驱动包,也同样 放到该目录。我这里用的是mysql的驱动包。

  ②. 将mysql的数据库脚本 执行 向mysql中插入数据。

  ③. 找到solr7.7.3/example/example-DIH/solr/db/conf/db-data-config.xml,把其复制到 solrhome/new_core/conf/下,并改名为data-config.xml 

      cd /opt/moudle/solr/solr-7.7.3/example/example-DIH/solr/db/conf

      cp db-data-config.xml /usr/local/solr/solrhome/new_core/conf

      cd /usr/local/solr/solrhome/new_core/conf

      mv db-data-config.xml data-config.xml

     ④.打开并编辑data-config.xml,完整的配置文件如下

<dataConfig>
<!-- 这是mysql的配置  -->
          <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.70.25:3306/lagou_position" user="root" password="123456"/>
                 <document>
                     <!-- query是一条sql,代表在数据库查找出来的数据 -->
                     <entity name="book" query="select * from position">
                     <!-- 每一个field映射着数据库中列与文档中的域,column是数据库列,name是 solr的域(必须是在managed-schema文件中配置过的域才行) -->
                        <field column="id"  name="id"/>
                        <field column="companyName" name="companyName"/>
                        <field column="positionAdvantage" name="positionAdvantage"/>
                        <field column="companyId" name="companyId"/>
                       <field column="positionName" name="positionName"/>
	      <field column="salary" name="salary"/>
   	       <field column="salaryMin" name="salaryMin"/>
                        <field column="salaryMax" name="salaryMonth"/>
	      <field column="salaryMonth" name="salaryMonth"/>
	      <field column="education" name="education"/>

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

⑤. 找到   solrconfig.xml,并打开,在里面添加一段内容,如下

   cd /usr/local/solr/solrhome/new_core

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

⑥. 在new_core/conf/managed-schema 配置对应的域

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

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

<field name="salaryMin"  type="pfloat" indexed="true" stored="true"/>

重启tomcat