zoukankan      html  css  js  c++  java
  • (七) solr数据导入:通过JDBC从数据库导入数据

    这节展示如何通过JDBC从mysql数据库中将数据导入进solr中

    假设数据库(blog)中有如下两个表:article,category

    article:

    id,title,catid

    category:

    id,catname

    接着需要做一下几个配置:

    在 schema.xml的域信息定义如下:

     <field name="id"     type="string"   indexed="true"  stored="true"  required="true"/>
     <field name="title" type="text" indexed="true" stored="true"/>
     <field name="catname" type="string" stored="true"/>

    solrconfig.xml

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

    db-data-config.xml 的配置如下:

    <dataConfig>
        <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/blog" user="root" password="admin"/>
        <document>
            <entity name="article" query="select id,title,catid from article">
                <field column="id" name="id" />
                <field column="title" name="title" />
                <field column="title" name="suggest"/>
                <entity name="category" query="select catname from category where id=${article.catid}">
                    <field column="catname" name="catname"/>
                </entity>
            </entity>
        </document>
    </dataConfig>

    配置完成之后,重启solr服务,然后执行以下命令进行数据导入

    http://localhost:8983/solr/import?command=full-import

    /import: 这个命令用于显示当前的状态

    /import?command=full-import :使用该参数,表示进行完全导入,默认情况下,在开始导入的时候,会将上次导入的数据进先进行删除,然后再导入,通过另外一个参数,可以改变这种默认行为,clean=false

    /dataimport?command=delta-import:使用该参数,表示进行增量导入

    /dataimport?command=reload-config: 该命令表示强制对配置进行重新加载

    /dataimport?command=abort :该命令表示停止当前正在进行的索引

    下面就一些参数稍作解释:

     <field column="title" name="title" />  此处是将从mysql数据库中获取的字段名“title” 映射到schema.xml中的title域中(其实此处),其余字段以此类推

  • 相关阅读:
    Android(java)学习笔记68:使用proguard混淆android代码
    SGU 194 Reactor Cooling
    关于流量有上下界的网络流问题的求解
    关于最小割的求解方法
    HDU 5311 Hidden String
    POJ 3548 Restoring the digits
    POJ 2062 HDU 1528 ZOJ 2223 Card Game Cheater
    ZOJ 1967 POJ 2570 Fiber Network
    HDU 1969 Pie
    HDU 1956 POJ 1637 Sightseeing tour
  • 原文地址:https://www.cnblogs.com/xiazh/p/2546860.html
Copyright © 2011-2022 走看看