2017-07-25 42 views
0

我正在从数据库索引数据。我使用增量导入来获取最近更新的数据。但是,我发现它将获取整个数据两次并处理一次,尽管这些更改仅适用于一行。DeltaImport提取所有数据

我的config.xml其中deltaquery给出:

<dataConfig> 
<dataSource type="JdbcDataSource" driver="com.github.cassandra.jdbc.CassandraDriver" url="jdbc:c*://127.0.0.1:9042/test" autoCommit="true" rowLimit = '-1' batchSize="-1"/> 
<document name="content"> 
    <entity name="test" query="SELECT * from person" deltaImportQuery="select * from person where seq=${dataimporter.delta.seq}" deltaQuery="select seq from person where last_modified > '${dataimporter.last_index_time}' ALLOW FILTERING" autoCommit="true"> 
     <field column="seq" name="id" /> 
     <field column="last" name="last_s" /> 
     <field column="first" name="first_s" /> 
     <field column="city" name="city_s" /> 
     <field column="zip" name="zip_s" /> 
     <field column="street" name="street_s" /> 
     <field column="age" name="age_s" /> 
     <field column="state" name="state_s" /> 
     <field column="dollar" name="dollar_s" /> 
     <field column="pick" name="pick_s" /> 
    </entity> 
</document> 
</dataConfig> 

有210多行。所以它总是会导致内存消耗大,导致内存不足。可能是什么问题呢?还是仅以这种方式工作?

+0

你检查了dataimport.properties文件吗?它是否有最新的索引时间戳更新? – Jeyaprakash

+0

是的,它已更新。 –

回答

0

如果solr的内存不足,那么是时候向solr盒添加更多的内存。增加更多内存将有助于缓解这个问题。