0

ライブレガシーデータベースから定期的にすべてのドメインインスタンスのインデックスを再作成する必要があります DBには〜400kレコードがあります 再インデックスなしでDBからドメインオブジェクトを1つずつ読み取ります〜15分

reindex の反復処理は、remdisk のインデックスで 8 ~ 10 時間かかります。

ids.each { id ->
      Domain.reindex(id)
}

DB 接続タイムアウトのため、Domain.reindex() を使用できません

searchableService.reindexAll(list) には約 2 時間かかります。しかし、この方法は非推奨です

1 つのスレッドによって更新されるインデックス。ディスク上のインデックスの結果サイズ ~0.5Gb

ルセナのパフォーマンスを改善するにはどうすればよいですか? 私が理解しているように、情報の再インデックスには約 1 時間かかるはずです。

4

1 に答える 1

0

https://stackoverflow.com/a/13128140/166062によると、適切な設定は次のとおりです。

compassSettings = [
  'compass.engine.optimizer.schedule.period': '300',
  'compass.engine.mergeFactor':'1000',
  'compass.engine.maxBufferedDocs':'1000',
  'compass.engine.ramBufferSize': '128',
  'compass.engine.useCompoundFile': 'false',
  'compass.transaction.processor': 'read_committed',
  'compass.transaction.processor.read_committed.concurrentOperations': 'false',
  'compass.transaction.lockTimeout': '30',
  'compass.transaction.lockPollInterval': '500',
  'compass.transaction.readCommitted.translog.connection': 'ram://'
]
于 2014-04-18T19:18:31.477 に答える