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中去。

  • 相关阅读:
    Github 简明教程--GitHub这么火,测试员你不学学吗?
    IT行业,尤其是软件测试,怎么才能月薪突破2万?
    linux 下cmake 编译 ,调用,调试 poco 1.6.0 小记
    ffmpeg(2.6) rockplayer android 下编译 小记.
    完成端口
    C++四种强制转换
    方法区(Method Area)基础知识
    逃逸分析
    堆空间参数设置小结
    堆中的线程私有缓存区域TLAB(Thread Local Allocation Buffer)
  • 原文地址:https://www.cnblogs.com/mxbs/p/8058995.html
Copyright © 2011-2022 走看看