当我运行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 > '${dataimporter.last_index_time}'" deletedPkQuery="select group_id from collaboration_groups where group_status = 0 and updated_date > '${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 回答
我注意到,在你的
deltaImportQuery
中你引用了id
(你的deltaQuery中不存在)而不是group_id
. 在这一行:由于deltaQuery中的PK是group_id,因此查询的这一部分应如下所示:
我有同样的问题,因为'我不明白
${dataimporter.delta}
实际上代表deltaQuery
.你能查看你的
dataConfig
文件并发布你的query
,deltaImportQuery
和deltaQuery
吗?dataConfig
直接位于solrconfig.xml
,内部dataImport请求处理程序标记中,或者位于单独的xml文件中 . 要找出哪个文件检出dataImport请求处理程序的config参数,它应该看起来与此类似:包含
dataConfig
的文件与solrconfig.xml(conf)位于同一目录中 .