2011-03-05 65 views
1

当我运行full_import命令时,它工作正常。更新的日期被写入dataimport.properties文件。当我运行delta-import时,索引失败。回滚所有更改。dataimport.properties文件已创建,并具有solr/conf/location中的777权限。solr DIH中的delta导入问题

请帮我解决这个问题。


@mbonaci

查询,deltaImportQuery和deltaQuery在数据-config.xml中是如下

<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请求处理程序的配置参数如下

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

回答

8

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

0

你可以看看你的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)。

+0

请检查我的帖子 – 2011-03-06 06:13:06