• solr6.6.2学习记录之三:从sqlserver数据库导入数据(全量导入)


    1、配置准备

      前提已经配置好了solr,并新创建了一个core;(我的是:D:solr_homecore_demo)

      sqlserver数据库 ,  以数据库:demo_solr ,单表(demo_user)为例.

    2、修改sorlconfig.xml

      sorlconfig.xml 位置: D:solr_homecore_democonf ;

      在 soreconfig.xml 的<requestHandler name="/select" class="solr.SearchHandler">上面添加如下代码:

      注意:需要确认文件中不存在其他的dataimport,如果存在直接替换即可。

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

    3、创建data-config.xml文件

      关于详细的配置请参照:http://blog.csdn.net/boolbo/article/details/50352331

        官方wiki:https://cwiki.apache.org/confluence/display/solr/

      在sorlconfig.xml所在目录下创建data-config.xml文件,然后在此文件中配置数据库相关属性。例如:

    <?xml version="1.0" encoding="UTF-8"?> 
    <dataConfig>
        <dataSource name="dataSource" type="JdbcDataSource"
                  driver="net.sourceforge.jtds.jdbc.Driver"
                  url="jdbc:jtds:sqlserver://127.0.0.1:1433/demo_solr;useLOBs=false"
                  user="sa"
                  password="123456" />
        <document>
            <entity name="demo_user" dataSource="dataSource" pk="id"
                query="SELECT * FROM demo_user">
                <field column='id' name='id' />
                <field column='name' name='name' />
                <field column='address' name='address' />
                <field column='age' name='age' />
                <field column='create_time' name='createTime' dateTimeFormat='yyyy-MM-dd HH:mm:ss' />
                <field column='update_time' name='updateTime' dateTimeFormat='yyyy-MM-dd HH:mm:ss' />
            </entity>
        </document>
    </dataConfig

    4、配置managed-schema.xml

      6.6.2版本直接修改managed-schema.xml就行了,比如我的managed-schema.xml文件所有内容如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    
    <schema name="example" version="1.6">
      
       <field name="id" type="string" indexed="true" stored="false"/>
       <field name="name" type="string" indexed="true" stored="true"/>
       <field name="age" type="int" indexed="true" stored="true"/>
       <field name="address" type="string" indexed="true" stored="true"/>
       <field name="createTime" type="date" indexed="true" stored="true"/>
       <field name="cupdateTime" type="date" indexed="true" stored="true"/>
       
       <field name="_version_" type="long" indexed="false" stored="false"/>
       <field name="text" type="string" indexed="true" stored="false" multiValued="true"/>
       <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
    
    
        <uniqueKey>id</uniqueKey>
    
        <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
        <fieldType name="int" class="solr.TrieIntField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
        <fieldType name="long" class="solr.TrieLongField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
        <fieldType name="date" class="solr.TrieDateField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
    
    
    </schema>

    5、拷贝jar

      (1)拷贝solr-6.6.2dist 路径下的 solr-dataimporthandler-6.6.2.jar 、solr-dataimporthandler-extras-6.6.2.jar  到 tomcat下的 webappssolrWEB-INFlib目录下

        (2)拷贝jtds-1.2.4.jar(sqlserver数据库连接jar包)到 tomcat下的 webappssolrWEB-INFlib目录下

    不需要修改任何配置文件即可,继续下面的步骤

    6、修改jar配置路径

      继续编辑solrconfig.xml, 找到lib标签,修改jar的路径,不需要添加任何jar即可,下面贴上我本地修改后的路径:

      <lib dir="D:javacomponetssolr-6.6.2/contrib/extraction/lib" regex=".*.jar" />
      <lib dir="D:javacomponetssolr-6.6.2/dist/" regex="solr-cell-d.*.jar" />
    
      <lib dir="D:javacomponetssolr-6.6.2/contrib/clustering/lib/" regex=".*.jar" />
      <lib dir="D:javacomponetssolr-6.6.2/dist/" regex="solr-clustering-d.*.jar" />
    
      <lib dir="D:javacomponetssolr-6.6.2/contrib/langid/lib/" regex=".*.jar" />
      <lib dir="D:javacomponetssolr-6.6.2/dist/" regex="solr-langid-d.*.jar" />
    
      <lib dir="D:javacomponetssolr-6.6.2/contrib/ltr/lib/" regex=".*.jar" />
      <lib dir="D:javacomponetssolr-6.6.2/dist/" regex="solr-ltr-d.*.jar" />
    
      <lib dir="D:javacomponetssolr-6.6.2/contrib/velocity/lib" regex=".*.jar" />
      <lib dir="D:javacomponetssolr-6.6.2/dist/" regex="solr-velocity-d.*.jar" />

    7、重启tomcat,访问:http://127.0.0.1:8080/solr/index.html#/core_demo/dataimport//dataimport,如下图:

    (full-import 全量导入,delta-import-增量导入),选择 full-import ,点击 点击Execute就可以导入了。

    8、点击左侧Query可查询导入的数据,至此完成。

     

  • 相关阅读:
    HBase 文件读写过程描述
    Kafka 部署指南-好久没有更新博客了
    《Python高性能编程》——列表、元组、集合、字典特性及创建过程
    Ansible常用功能
    vim内替换文件内容
    线程队列-queue
    Python多进程
    python多线程知识-实用实例
    夜间模式的实现
    本地通知的实现
  • 原文地址:https://www.cnblogs.com/VweiweiyixiaoV/p/8260088.html
Copyright © 2020-2023  润新知