linux系统搭建solr7.2服务

1.安装环境的jdk是jdk1.8,tomcat9(本人环境)。

2.下载solr7.2,链接http://archive.apache.org/dist/lucene/solr/7.2.1/。上传到linux并解压。

3.在tomcat,webapps目录下创建solr7目录,并将solr-7.2.1/server/solr-webapp/webapp/*目录下的所有内容拷贝过去。

4.将需要的jar包导入到WEB-INF/lib/下。

    [root@iZ2ze1dbdwhqgh1unr127aZ solr7]# cp -r /usr/local/solr-7.2.0/server/solr-webapp/webapp/* ./

    [root@iZ2ze1dbdwhqgh1unr127aZ solr7]# cp -r /usr/local/solr-7.2.0/server/lib/ext/* ./WEB-INF/lib/

    [root@iZ2ze1dbdwhqgh1unr127aZ solr7]# cp -r /usr/local/solr-7.2.0/server/lib/metrics*.* ./WEB-INF/lib/

    [root@iZ2ze1dbdwhqgh1unr127aZ solr7]# cp -r /usr/local/solr-7.2.0/dist/solr-dataimporthandler-* ./WEB-INF/lib/

5.在local目录下创建solrhome7,将solr-7.2.0/server/solr/*目录下的所有内容拷贝过去。

    [root@iZ2ze1dbdwhqgh1unr127aZ solr7]# cd ../../../

    [root@iZ2ze1dbdwhqgh1unr127aZ local]# mkdir solrhome7

    [root@iZ2ze1dbdwhqgh1unr127aZ local]# cp -r /usr/local/solr-7.2.0/server/solr/* ./solrhome7

6.修改/usr/local/tomcat9-solr7/webapps/solr7/WEB-INF/web.xml文件,指定solrhome7的位置,并注释security-constraint权限内容。

    ...

    <env-entry

       <env-entry-name>solr/home</env-entry-name>

       <env-entry-value>/usr/local/solrhome7</env-entry-value>

       <env-entry-type>java.lang.String</env-entry-type>

    </env-entry>

    ...

    <!--
    <security-constraint>
    <web-resource-collection>
      <web-resource-name>Disable TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint/>
   </security-constraint>
   <security-constraint>
   <web-resource-collection>
      <web-resource-name>Enable everything but TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method-omission>TRACE</http-method-omission>
    </web-resource-collection>

   </security-constraint> 

    -->

    ...

7.启动tomcat(注意端口冲突以及端口限制问题),访问http://ip:port/solr7/index.html#。看到管理页面说明安装成功。


8.解决日志不能正常显示问题。

    [root@iZ2ze1dbdwhqgh1unr127aZ WEB-INF]# mkdir classes

    [root@iZ2ze1dbdwhqgh1unr127aZ WEB-INF]# cp /usr/local/solr-7.2.0/server/resources/log4j.properties ./classes/

9.添加核心。


    name:自定义的名字,建议和instanceDir保持一致

    instanceDir:solrhome7目录下的示例类目

    dataDir:默认填data即可

    config:指定配置文件,/usr/local/solrhome7/new_core/conf/solrconfig.xml

    schema:指定schema.xml文件,new_core/conf/schema文件(实际上是managed-schema文件)

    注意!在schema.xml下面有一个感叹号!

    instanceDir and dataDir need to exist before you can create the core

    如果你不管他,直接点击Add Core会提示solrconfig.xml文件找不到

    

    解决方法:

    [root@iZ2ze1dbdwhqgh1unr127aZ new_core]# mkdir conf

  [root@iZ2ze1dbdwhqgh1unr127aZ new_core]# cp -r /usr/local/solr-7.2.0/server/solr/configsets/_default/conf/* ./conf/

    [root@iZ2ze1dbdwhqgh1unr127aZ solrhome7]# cp -r /usr/local/solr-7.2.0/contrib/ ./

    [root@iZ2ze1dbdwhqgh1unr127aZ solrhome7]# cp -r /usr/local/solr-7.2.0/dist/ ./

    检查/usr/local/solrhome7/new_core/conf/solrconfig.xml和contrib目录,dist目录的相对位置

    ...

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


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


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


    <lib dir="${solr.install.dir:..}/contrib/velocity/lib" regex=".*\.jar" />

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

    ...

10.重启服务即可正常创建Core,然后instanceDir文件夹(new_core)里会自动生成一个core.properties文件。

    name=new_core
    config=solrconfig.xml
    schema=schema.xml

    dataDir=data

    第二次创建core,就不用这么麻烦了,直接把第一次创建的new_core目录复制一份,修改core.properties文件中的name即可。

11.导入数据-上(Dataimport)。

    [root@iZ2ze1dbdwhqgh1unr127aZ /]# cd /usr/local/solrhome7/contrib/dataimporthandler/lib/

    #导入solr-dataimporthandler和mysql-connector-java jar包

 [root@iZ2ze1dbdwhqgh1unr127aZ lib]# cp /usr/local/tomcat9-solr7/webapps/solr7/WEB-INF/lib/solr-dataimporthandler-7.2.0.jar 

    #mysql-connector-java jar包得从外面找。solr项目里没有此包。

    将以下内容添加至/usr/local/solrhome7/new_core/conf/solrconfig.xml里

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

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

    [root@iZ2ze1dbdwhqgh1unr127aZ conf]# mkdir data-config.xml 

    <?xml version="1.0" encoding="UTF-8" ?>
    <dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
        url="jdbc:mysql://114.215.239.127:3306/cloud_db" user="admin" password="Admin!23" batchSize="1000" />
    <document>
        <entity name="jd_product" pk="id"
     deletedPkQuery="select jd_product_id from jd_product_fail where create_time &gt;     '${dataimporter.last_index_time}'"
query="SELECT id,sku,jd_id,goods_name,goods_inventory,ori_price,con_price,con_url,con_url_b,goods_url,commission,

parent_id,con_exist_num,con_expire_date,con_ticket_price,pro_desc,pro_spe,pro_spec_desc,competitive,category_name,create_time,update_time,commission_money,competitive_date,is_top,is_con,pro_source,create_user_id,create_user_name,is_seckill,is_zi_ying,seckill_start_time,seckill_end_time FROM jd_product"

deltaImportQuery="SELECT id,sku,jd_id,goods_name,goods_inventory,ori_price,con_price,con_url,con_url_b,goods_url,commission,

parent_id,con_exist_num,con_expire_date,con_ticket_price,pro_desc,pro_spe,pro_spec_desc,competitive,category_name,create_time,update_time,commission_money,
competitive_date,is_top,is_con,pro_source,create_user_id,create_user_name,is_seckill,is_zi_ying,seckill_start_time,seckill_end_time FROM jd_product where id='${dataimporter.delta.id}'"
            deltaQuery="SELECT id FROM jd_product where update_time > '${dataimporter.last_index_time}'">
        <field column="id" name="id"/>
        <field column="is_top" name="product_is_top"/>
        <field column="is_con" name="product_is_con"/>
        <field column="pro_source" name="product_pro_source"/>
        <field column="create_user_id" name="product_create_user_id"/>
        <field column="create_user_name" name="product_create_user_name"/>
        <field column="sku" name="product_sku"/>
        <field column="jd_id" name="product_jd_id"/>
        <field column="goods_name" name="product_goods_name"/>
        <field column="goods_inventory" name="product_goods_inventory"/>
        <field column="ori_price" name="product_ori_price"/>
        <field column="con_price" name="product_con_price"/>
        <field column="con_url" name="product_con_url"/>
        <field column="con_url_b" name="product_con_url_b"/>
        <field column="goods_url" name="product_goods_url"/>
        <field column="commission" name="product_commission"/>
        <field column="parent_id" name="product_parent_id"/>
        <field column="con_exist_num" name="product_con_exist_num"/>
        <field column="con_expire_date" name="product_con_expire_date"/>
        <field column="con_ticket_price" name="product_con_ticket_price"/>
        <field column="pro_desc" name="product_pro_desc"/>
        <field column="pro_spe" name="product_pro_spe"/>
        <field column="pro_spec_desc" name="product_pro_spec_desc"/>
        <field column="competitive" name="product_competitive"/>
        <field column="category_name" name="product_category_name"/>
        <field column="create_time" name="product_create_time"/>
        <field column="update_time" name="product_update_time"/>
        <field column="commission_money" name="product_commission_money"/>
        <field column="competitive_date" name="product_competitive_date"/>
<field column="is_seckill" name="product_is_seckill" />
<field column="is_zi_ying" name="product_is_zi_ying" />
<field column="seckill_start_time" name="product_seckill_start_time" />
<field column="seckill_end_time" name="product_seckill_end_time" />
        </entity>
    </document>

</dataConfig>

12.导入数据-下


猜你喜欢

转载自blog.csdn.net/tomcat_zhu/article/details/79348987