zoukankan      html  css  js  c++  java
  • 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中去。

  • 相关阅读:
    Java开源内容管理CMS系统J4CMS支持静态化直接ftp上传到你的空间了
    JAVA数组的定义及用法
    从本地上传整个目录到hdfs的java程序
    图片轮显效果大全
    Windows 自己主动关机命令 shuntdown
    Android源码是这样搞到的(图解)
    JSONObject与JSONArray的使用
    教你用笔记本破解无线路由器password
    tomcat配置文件server.xml具体解释
    SQLite的SQL语法
  • 原文地址:https://www.cnblogs.com/mxbs/p/8058995.html
Copyright © 2011-2022 走看看