1

当我运行 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>
4

2 回答 2

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.

于 2011-03-06T19:39:43.560 回答
0

您可以查看您的dataConfig文件并发布您的query,deltaImportQuerydeltaQuery吗?
dataConfig直接位于solrconfig.xmldataImport 请求处理程序标记中,或者位于单独的 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) 相同的目录中。

于 2011-03-05T17:45:25.573 回答