Solr数据库导入

Solr数据库导入

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

    2、把E:Solrsolr-4.10.4exampleexample-DIHsolrdbconf下的admin-extra.html, admin-extra.menu-bottom.html,admin-extra.menu-top.html三个文件也复制到conf中去。

打开E:SolrsolrHomemycoreconf路径下的

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:Solrsolr-4.10.4dist)solr-dataimporthandler-4.10.0.jar和solr-dataimporthandler-extras-4.10.0.jar到tomcat solr webapp的WEB-INFlib目录下(E:Solrapache-tomcat-7.0.65webappssolrWEB-INFlib)。

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

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

    5、用记事本打开E:SolrsolrHomemycoreconf路径下的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.0solr-6.0.0exampleexample-DIHsolrdbconf下的admin-extra.html, admin-extra.menu-bottom.html,admin-extra.menu-top.html三个文件也复制到conf中去。

原文地址:https://www.cnblogs.com/mxbs/p/8058995.html