我正在从数据库索引数据。我正在使用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行。因此它总是会导致大量内存消耗,从而导致内存不足。可能是什么问题呢?或者它只以这种方式工作?
答案 0 :(得分:0)
如果solr内存不足,则需要向solr框添加更多内存。添加更多RAM将有助于缓解此问题。