当我运行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>
答案 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
文件并发布query
,deltaImportQuery
和deltaQuery
吗?
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)位于同一目录中。