【问题标题】:delta-import problem in solr DIHsolr DIH 中的增量导入问题
【发布时间】:2011-07-09 08:42:07
【问题描述】:

当我运行 full_import 命令时,它工作正常。更新的日期将写入 dataimport.properties 文件。当我运行 delta-import 时,它给出了索引失败。回滚所有更改。dataimport.properties 文件已创建,并在 solr/conf/ 位置具有 777 权限。

请帮我解决这个问题。


@mbonaci

data-config.xml中的query、deltaImportQuery和deltaQuery如下

    <entity name="item" query="select group_title,description,DATE_FORMAT(created_date, '%Y-%m-%dT%H:%i:%sZ') as createdDate,group_status, 'GROUP' as itemtype,group_id as id from collaboration_groups where group_status=1" 
deltaImportQuery="select group_title,description,DATE_FORMAT(created_date, '%Y-%m-%dT%H:%i:%sZ') as createdDate,group_status,group_id as id,'GROUP' as itemtype  from collaboration_groups where group_status=1 and group_id=${dataimporter.delta.id} "  
deltaQuery="select group_id from collaboration_groups where group_status=1 and  updated_date &gt; '${dataimporter.last_index_time}'" deletedPkQuery="select group_id  from  collaboration_groups  where group_status = 0 and updated_date &gt; '${dataimporter.last_index_time}'">
            <field column="id"  name="id" />
            <field column="itemtype" name="itemtype" />
            <field column="group_title" name="fullName" />
            <field column="description" name="description"/>
            <field column="createdDate" name="createdDate"/>
</entity>

config.xml中dataImport请求处理程序的config参数如下

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

【问题讨论】:

    标签: solr dataimporthandler


    【解决方案1】:

    我注意到,在您的 deltaImportQuery 中,您引用了 id(在您的 deltaQuery 中不存在)而不是 group_id。在这一行:

    ...and group_id=${dataimporter.delta.id}"
    

    由于您在 deltaQuery 中的 PK 是 group_id,所以查询的那部分应该是这样的:

    ...and group_id=${dataimporter.delta.group_id}"
    

    我也有同样的问题,因为我不明白 ${dataimporter.delta} 实际上代表 deltaQuery

    【讨论】:

      【解决方案2】:

      您能否查看您的dataConfig 文件并发布您的querydeltaImportQuerydeltaQuery
      dataConfig 直接位于您的solrconfig.xml 中,位于 dataImport 请求处理程序标签内,或者它位于在单独的 xml 文件中。要找出哪个文件,请查看 dataImport 请求处理程序的配置参数,它应该类似于:

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

      包含dataConfig 的文件与solrconfig.xml (conf) 位于同一目录中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-26
        • 1970-01-01
        相关资源
        最近更新 更多