solr dataimport来自多个data-config.xml文件

时间:2013-06-01 12:08:26

标签: solr

我创建了两个配置文件,一个是data-config.xml,而onather是 data-config- original.xml和solrconfig.xml我输入如下

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

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

    and i imports theses file using below url:
    http://hostname:8080/solr/dataimport2?command=full-import
    and
    http://hostname:8080/solr/dataimport?command=full-import
    but its shows only one indexed file at a time, when i see using below url:
    http://hostname:8080/solr/select/?q=*&version=2.2&start=0&rows=10&indent=on
    how can i import and indexed form multiple file or databases?

2 个答案:

答案 0 :(得分:1)

得到了我的问题的答案。 无需制作data-config的两个配置文件,只需制作一次。 只有它的配置应该像下面的配置。

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
    <dataSource type="JdbcDataSource"
    convertType="true"
   driver="com.mysql.jdbc.Driver"
   url="jdbc:mysql://localhost:3306/db1"
   user="root"
   password=""
   name="jdbcmy01nvn1"
   autoCommit="true" batchSize="-1"
   />
   <dataSource type="JdbcDataSource"
    convertType="true"
   driver="com.mysql.jdbc.Driver"
   url="jdbc:mysql://localhost:3306/bd2"
   user="root"
   password=""
   name="jdbcmy01nvn"
   autoCommit="true" batchSize="-1"
   />
<document name="doc1">
    <entity dataSource="jdbcmy01nvn1" name="cont1" query="" >
    <field column = "" name="" />
    </entity>
    <entity dataSource="jdbcmy01nvn" name="cont" query="" >
    <field column = "" name="" />
    </entity>
</document>

</dataConfig>

只应更改dataConfig标签的名称并将其用作dataSource =&#34;&#34;在文档标记内的实体标记中。

答案 1 :(得分:0)

DIH Commands

使用command = full-import,clean default参数为true,这将在索引之前删除所有记录

  

clean :(默认为'true')。告诉我们之前是否要清理索引   索引已经开始。

因此请确保clean=false已通过。

另外,请确保ID是唯一的,否则文档会相互覆盖。