Mercurial Hosting > luan
comparison src/goodjava/lucene/logging/LoggingIndexWriter.java @ 1502:8a7b6b32c691
minor threads
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 10 May 2020 22:48:15 -0600 |
parents | e66e3d50b289 |
children | f443542d8650 |
comparison
equal
deleted
inserted
replaced
1501:e66e3d50b289 | 1502:8a7b6b32c691 |
---|---|
11 import java.util.Set; | 11 import java.util.Set; |
12 import java.util.HashSet; | 12 import java.util.HashSet; |
13 import java.util.List; | 13 import java.util.List; |
14 import java.util.ArrayList; | 14 import java.util.ArrayList; |
15 import java.util.Random; | 15 import java.util.Random; |
16 import java.util.concurrent.Executors; | |
17 import java.util.concurrent.ExecutorService; | |
16 import org.apache.lucene.document.Document; | 18 import org.apache.lucene.document.Document; |
17 import org.apache.lucene.index.DirectoryReader; | 19 import org.apache.lucene.index.DirectoryReader; |
18 import org.apache.lucene.index.IndexReader; | 20 import org.apache.lucene.index.IndexReader; |
19 import org.apache.lucene.index.Term; | 21 import org.apache.lucene.index.Term; |
20 import org.apache.lucene.search.IndexSearcher; | 22 import org.apache.lucene.search.IndexSearcher; |
41 private static final int OP_DELETE_ALL = 1; | 43 private static final int OP_DELETE_ALL = 1; |
42 private static final int OP_DELETE_DOCUMENTS = 2; | 44 private static final int OP_DELETE_DOCUMENTS = 2; |
43 private static final int OP_ADD_DOCUMENT = 3; | 45 private static final int OP_ADD_DOCUMENT = 3; |
44 private static final int OP_UPDATE_DOCUMENT = 4; | 46 private static final int OP_UPDATE_DOCUMENT = 4; |
45 private static final Random rnd = new Random(); | 47 private static final Random rnd = new Random(); |
48 protected static final ExecutorService threadPool = Executors.newCachedThreadPool(); | |
46 | 49 |
47 public final LuceneIndexWriter indexWriter; | 50 public final LuceneIndexWriter indexWriter; |
48 private final File logDir; | 51 private final File logDir; |
49 protected final List<LogFile> logs = new ArrayList<LogFile>(); | 52 protected final List<LogFile> logs = new ArrayList<LogFile>(); |
50 private LogOutputStream log; | 53 private LogOutputStream log; |
341 writeIndex(); | 344 writeIndex(); |
342 setLog(); | 345 setLog(); |
343 } | 346 } |
344 if( logs.size() > 3 ) { | 347 if( logs.size() > 3 ) { |
345 isMerging = true; | 348 isMerging = true; |
346 new Thread(mergeLogs).start(); | 349 threadPool.execute(mergeLogs); |
347 // mergeLogs.run(); | 350 // mergeLogs.run(); |
348 } | 351 } |
349 } | 352 } |
350 | 353 |
351 public synchronized void rollback() throws IOException { | 354 public synchronized void rollback() throws IOException { |