如何使用deletedPkQuery

时间:2012-09-05 11:42:20

标签: solr lucene

我有一个带有2个实体的data-config.xml,比如

<entity name="full" PK="ID" ...>
...
</entity>

<entity name="delta_build" PK="ID" ...>
...
</entity>

实体delta_build用于delta导入,查询是

?command=full-import&entity=delta_build&clean=false

我想使用deletedPkQuery删除索引。所以我将它们添加到实体“delta_build”

deltaQuery="select -1 as ID from dual"

deltaImportQuery="select * from product where a.id='${dataimporter.delta.ID}' "

deletedPKQuery="select product_id as ID from modified_product where gmt_create &gt; to_date('${dataimporter.last_index_time}','yyyy-mm-dd hh24:mi:ss') and modification = 'deleted'" 

deltaQuery和deltaImportQuery只是为了避免delta导入任何记录,课程delta导入已通过完全导入实现。而且我只想使用delta来删除索引。

但是当我点击查询时

?command=delta-import

deltaQuery和deltaImportQuery可以在日志中找到,而且没有deletedPKQuery。配置文件有什么问题吗?

1 个答案:

答案 0 :(得分:0)

我马上就看到了两个原因。 1.使用'$ {dataimporter.delta.product_id}'代替'$ {dataimporter.delta.ID}' 2.使用deletedPkQuery而不是deletedPKQuery。