Solr数据库导入

Posted 大道至简-giserDev

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr数据库导入相关的知识,希望对你有一定的参考价值。

Solr数据库导入

    1、在mysql中创建一张表t_solr,并插入测试数据。

    2、把E:\\Solr\\solr-4.10.4\\example\\example-DIH\\solr\\db\\conf下的admin-extra.html, admin-extra.menu-bottom.html,admin-extra.menu-top.html三个文件也复制到conf中去。

打开E:\\Solr\\solrHome\\mycore\\conf路径下的

solrconfig.xml文件,添加如下节点:

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

 <lstname="defaults">

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

</lst>

</requestHandler>

 

    3、新建一个data-config.xml文件,与solrconfig.xml同一个目录下。内容为:

<dataConfig>

    <dataSource type="JdbcDataSource"

              driver="com.mysql.jdbc.Driver"

              url="jdbc:mysql://localhost/test"

              user="root"

              password="giser" />

    <document>

        <entity name="t_solr" transformer="DateFormatTransformer"

            query="SELECT id, subject, content, last_update_time FROM t_solr WHERE id >= ${dataimporter.request.id}">

            <field column=\'last_update_time\' dateTimeFormat=\'yyyy-MM-dd HH:mm:ss\' />

        </entity>

    </document>

</dataConfig>

 

说明:这里使用了一个${dataimporter.request.id},这个是参数,后面在做数据导入时,会使用到,以此条件为基准读数据。

    4、复制解压出的solr jar包(E:\\Solr\\solr-4.10.4\\dist)solr-dataimporthandler-4.10.0.jar和solr-dataimporthandler-extras-4.10.0.jar到tomcat solr webapp的WEB-INF\\lib目录下(E:\\Solr\\apache-tomcat-7.0.65\\webapps\\solr\\WEB-INF\\lib)。

当然,也包括mysql的jdbc jar包:mysql-connector-java-5.1.7-bin.jar

(还有一种方法是在solrconfig.xml中加入lib节点,然后把jar包放到solrhome下,这样可以不在WEB-INF\\lib中加入jar包)

    5、用记事本打开E:\\Solr\\solrHome\\mycore\\conf路径下的schema.xml,在solrhome文件夹中添加内容如下:

      <!—type对应 -->

      <fieldtype name="string"  class="solr.StrField" sortMissingLast="true" omitNorms="true"/>

    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>

 

    <field name="subject" type="string" indexed="true" stored="true" />

    <field name="content" type="string" indexed="true" stored="true" />

 

<defaultSearchField>subject</defaultSearchField>

    6、打开Solr,查询数据

通过地址直接访问:http://localhost:8080/solr/mycore/dataimport?command=full-import&clean=true&commit=true&wt=json&indent=true&entity=t_solr&verbose=false&optimize=false&debug=false&id=1

结果如图所示:

 配置好后,之后我们只需要使用这个url地址,就可以不断的去导入数据做索引了。

通过DataImport生成索引:

 查询结果:

 

  总结:

             遇到的问题1:

mysql java.sql.SQLException: Unknown system variable \'language&#03

一:问题描述:mysql测试连接一致报错:Unknown system variable \'language\' 未知名的系统变量语言

二:用的Mysql的版本 5.6 用的连接 jar  mysql-connector-java-5.1.36.jar

三:找到问题,mysql-connector-java-5.1.36.jar版本太高了,换成

mysql-connector-java-5.1.24.jar 问题解决!

 

              遇到的问题2:

   把solr-6.0\\solr-6.0.0\\example\\example-DIH\\solr\\db\\conf下的admin-extra.html, admin-extra.menu-bottom.html,admin-extra.menu-top.html三个文件也复制到conf中去。

以上是关于Solr数据库导入的主要内容,如果未能解决你的问题,请参考以下文章

Solr数据库导入

solr 学习之数据导入

solr 数据导入

用于 MongoDB 的 solr 数据导入处理程序

(solr系列:四)将mysql数据库中的数据导入到solr中

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