Performance optimization
This commit is contained in:
parent
b493decd64
commit
64f21409f1
@ -61,6 +61,7 @@ import org.apache.lucene.index.KeepOnlyLastCommitDeletionPolicy;
|
||||
import org.apache.lucene.index.MergeScheduler;
|
||||
import org.apache.lucene.index.SerialMergeScheduler;
|
||||
import org.apache.lucene.index.SnapshotDeletionPolicy;
|
||||
import org.apache.lucene.index.TieredMergePolicy;
|
||||
import org.apache.lucene.misc.store.DirectIODirectory;
|
||||
import org.apache.lucene.search.similarities.Similarity;
|
||||
import org.apache.lucene.store.ByteBuffersDirectory;
|
||||
@ -219,6 +220,8 @@ public class LLLocalLuceneIndex implements LLLuceneIndex {
|
||||
indexWriterConfig.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);
|
||||
indexWriterConfig.setIndexDeletionPolicy(snapshotter);
|
||||
indexWriterConfig.setCommitOnClose(true);
|
||||
var mergePolicy = new TieredMergePolicy();
|
||||
indexWriterConfig.setMergePolicy(mergePolicy);
|
||||
int writerSchedulerMaxThreadCount;
|
||||
MergeScheduler mergeScheduler;
|
||||
if (lowMemory) {
|
||||
@ -271,9 +274,6 @@ public class LLLocalLuceneIndex implements LLLuceneIndex {
|
||||
var commitMillis = luceneOptions.commitDebounceTime().toMillis();
|
||||
luceneHeavyTasksScheduler.schedulePeriodically(this::scheduledCommit, commitMillis, commitMillis,
|
||||
TimeUnit.MILLISECONDS);
|
||||
// Maybe merge every 5 commits
|
||||
luceneHeavyTasksScheduler.schedulePeriodically(this::scheduledMerge, commitMillis * 5, commitMillis * 5,
|
||||
TimeUnit.MILLISECONDS);
|
||||
}
|
||||
|
||||
private Similarity getLuceneSimilarity() {
|
||||
@ -577,7 +577,7 @@ public class LLLocalLuceneIndex implements LLLuceneIndex {
|
||||
}
|
||||
}
|
||||
|
||||
private void scheduledMerge() {
|
||||
private void scheduledMerge() { // Do not use. Merges are done automatically by merge policies
|
||||
shutdownLock.lock();
|
||||
try {
|
||||
mergeTime.recordCallable(() -> {
|
||||
|
Loading…
x
Reference in New Issue
Block a user