DeltaImport获取所有数据

时间:2017-07-25 13:27:56

标签: solr dih

我正在从数据库索引数据。我正在使用delta import来获取最近更新的数据。但是,我发现它正在获取整个数据两次并处理一次虽然更改仅适用于一行。

我的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>

大约有2100000行。因此它总是会导致大量内存消耗,从而导致内存不足。可能是什么问题呢?或者它只以这种方式工作?

1 个答案:

答案 0 :(得分:0)

如果solr内存不足,则需要向solr框添加更多内存。添加更多RAM将有助于缓解此问题。