solr DIH中的delta-import问题

时间:2011-03-05 10:32:07

标签: solr dataimporthandler

当我运行full_import命令时它工作正常。更新的日期将写入dataimport.properties文件。当我运行delta-import时,它会使Indexing失败。回滚所有更改.. dataimport.properties文件已经创建,并且在solr / conf / location中具有777权限。

请帮我解决这个问题。


@mbonaci

data-config.xml中的查询,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>

2 个答案:

答案 0 :(得分:9)

我注意到,在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

答案 1 :(得分:0)

您可以查看自己的dataConfig文件并发布querydeltaImportQuerydeltaQuery吗? dataConfig可以直接位于solrconfig.xml内部dataImport请求处理程序标记中,也可以位于单独的xml文件中。要找出哪个文件检出dataImport请求处理程序的config参数,它应该看起来与此类似:

<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)位于同一目录中。