Package org.appng.search.indexer
Class DocumentIndexer
- java.lang.Object
-
- org.appng.api.search.BlockingQueueAccessor<P>
-
- org.appng.api.search.Consumer<DocumentEvent,DocumentProducer>
-
- org.appng.search.indexer.DocumentIndexer
-
- All Implemented Interfaces:
Runnable
public class DocumentIndexer extends Consumer<DocumentEvent,DocumentProducer> implements Runnable
AConsumer
ofDocumentEvent
s produced by aDocumentProducer
. Therefore it holds a queue ofDocumentProducer
s, whoseDocumentEvent
s are being consumed with a timeout callingBlockingQueueAccessor.get(long)
. This means if aDocumentProducer
doesn't produce a newDocument
within the given timeout, the producer is being discarded and the next one is taken.- Author:
- Matthias Müller
-
-
Field Summary
Fields Modifier and Type Field Description static Observable.Event
CLEAR_INDEX
-
Constructor Summary
Constructors Constructor Description DocumentIndexer(int queueSize, File indexDir, Long timeout)
Creates a newDocumentIndexer
.DocumentIndexer(File indexDir, Long timeout)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
run()
Starts thisDocumentIndexer
, running forever (until interrupted).-
Methods inherited from class org.appng.api.search.BlockingQueueAccessor
get, get, getBlockingQueue, getWithTimeout, put, put, putWithTimeout
-
-
-
-
Field Detail
-
CLEAR_INDEX
public static final Observable.Event CLEAR_INDEX
-
-
Constructor Detail
-
DocumentIndexer
public DocumentIndexer(int queueSize, File indexDir, Long timeout)
Creates a newDocumentIndexer
.- Parameters:
indexDir
- the directory to read/save the Lucene index from/totimeout
- the timeout in milliseconds when retrieving the nextDocumentEvent
from aDocumentProducer
-
-