2017-07-25 2 views
0

私はデータベースからデータを索引付けしています。最近更新されたデータを取得するためにデルタインポートを使用しています。しかし、変更が1行にしか適用されないものの、データ全体を2回フェッチして一度処理することがわかりました。DeltaImportがすべてのデータを取得します

deltaqueryが指定されているマイconfig.xmlに:

<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ボックスにさらにメモリを追加します。 RAMを増やすことで問題を緩和することができます。

関連する問題