Solr Delta Import Query正在删除中的所有内容

时间:2016-02-08 16:33:29

标签: solr

我正在尝试使用delta导入查询来处理我的solr架构。当我执行完全导入时,solr索引会正确填充。但是,当我尝试执行delta导入时,看起来它正常处理 - 并在solr gui中给出以下结果:

Indexing completed. Added/Updated: 0 documents. Deleted 0 documents.
Requests: 1, Fetched: 0, Skipped: 0, Processed: 0

这是正确的,因为自完整查询以来数据库应该没有更新。

但是,当我在增量更新后对核心进行完整查询时,它会显示所有文档都已消失,并且核心为空!所有这些都是通过solr web admin gui做的。

以下是delta导入处理程序配置文件:

<entity name="episode" query="select episode_id from db.episode"
  deltaQuery="select episode_id from db.episode where last_modified &gt; '${dih.last_index_time}'"
  deltaImportQuery="select episode_id from db.episode where episode_id = '${dih.delta.episode_id}'">
</entity>

以下是架构文件中的相关内容:

<fields>
    <field name='episode_id' indexed="true" stored="true" type='int' required="true"/>
</fields>

这是我的solrconfig.xml中的DIH内容:

<lib dir="${solr.install.dir:../../../..}/lib/" regex="mysql-connector-java-5.1.35-bin.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
  <lst name="defaults">
    <str name="config">episodeDIHconfigfile.xml</str>
  </lst>
</requestHandler>

为什么会发生这种情况?我认为delta查询只会添加到索引中,而不仅仅是删除所有内容!所有人都非常感谢...

1 个答案:

答案 0 :(得分:9)

既然你说你正在使用admin gui,我猜你已经勾选了那个小“干净”复选框,这意味着你的导入开始于clean标志设置为true。取消选中该复选框,然后重试。

如果将clean设置为true,则在索引开始之前擦除整个索引。对于完全导入非常有用,但显然不适用于增量!