org.apache.lucene.index
Class RandomIndexWriter

java.lang.Object
  extended by org.apache.lucene.index.RandomIndexWriter
All Implemented Interfaces:
Closeable

public class RandomIndexWriter
extends Object
implements Closeable

Silly class that randomizes the indexing experience. EG it may swap in a different merge policy/scheduler; may commit periodically; may or may not forceMerge in the end, may flush by doc count instead of RAM, etc.


Nested Class Summary
static interface RandomIndexWriter.TestPoint
          Simple interface that is executed for each TP InfoStream component message.
 
Field Summary
 IndexWriter w
           
 
Constructor Summary
RandomIndexWriter(Random r, Directory dir)
          create a RandomIndexWriter with a random config: Uses TEST_VERSION_CURRENT and MockAnalyzer
RandomIndexWriter(Random r, Directory dir, Analyzer a)
          create a RandomIndexWriter with a random config: Uses TEST_VERSION_CURRENT
RandomIndexWriter(Random r, Directory dir, IndexWriterConfig c)
          create a RandomIndexWriter with the provided config
RandomIndexWriter(Random r, Directory dir, Version v, Analyzer a)
          create a RandomIndexWriter with a random config
 
Method Summary
<T extends IndexableField>
void
addDocument(Iterable<T> doc)
          Adds a Document.
<T extends IndexableField>
void
addDocument(Iterable<T> doc, Analyzer a)
           
 void addDocuments(Iterable<? extends Iterable<? extends IndexableField>> docs)
           
 void addIndexes(Directory... dirs)
           
 void addIndexes(IndexReader... readers)
           
 void close()
          Close this writer.
 void commit()
           
 void deleteAll()
           
 void deleteDocuments(Query q)
           
 void deleteDocuments(Term term)
           
 void forceMerge(int maxSegmentCount)
          Forces a forceMerge.
 void forceMergeDeletes()
           
 void forceMergeDeletes(boolean doWait)
           
 DirectoryReader getReader()
           
 DirectoryReader getReader(boolean applyDeletions)
           
 int maxDoc()
           
static IndexWriter mockIndexWriter(Directory dir, IndexWriterConfig conf, Random r)
           
static IndexWriter mockIndexWriter(Directory dir, IndexWriterConfig conf, RandomIndexWriter.TestPoint testPoint)
           
 int numDocs()
           
 void setDoRandomForceMerge(boolean v)
           
 void setDoRandomForceMergeAssert(boolean v)
           
<T extends IndexableField>
void
updateDocument(Term t, Iterable<T> doc)
          Updates a document.
 void updateDocuments(Term delTerm, Iterable<? extends Iterable<? extends IndexableField>> docs)
           
 void updateNumericDocValue(Term term, String field, Long value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

w

public IndexWriter w
Constructor Detail

RandomIndexWriter

public RandomIndexWriter(Random r,
                         Directory dir)
                  throws IOException
create a RandomIndexWriter with a random config: Uses TEST_VERSION_CURRENT and MockAnalyzer

Throws:
IOException

RandomIndexWriter

public RandomIndexWriter(Random r,
                         Directory dir,
                         Analyzer a)
                  throws IOException
create a RandomIndexWriter with a random config: Uses TEST_VERSION_CURRENT

Throws:
IOException

RandomIndexWriter

public RandomIndexWriter(Random r,
                         Directory dir,
                         Version v,
                         Analyzer a)
                  throws IOException
create a RandomIndexWriter with a random config

Throws:
IOException

RandomIndexWriter

public RandomIndexWriter(Random r,
                         Directory dir,
                         IndexWriterConfig c)
                  throws IOException
create a RandomIndexWriter with the provided config

Throws:
IOException
Method Detail

mockIndexWriter

public static IndexWriter mockIndexWriter(Directory dir,
                                          IndexWriterConfig conf,
                                          Random r)
                                   throws IOException
Throws:
IOException

mockIndexWriter

public static IndexWriter mockIndexWriter(Directory dir,
                                          IndexWriterConfig conf,
                                          RandomIndexWriter.TestPoint testPoint)
                                   throws IOException
Throws:
IOException

addDocument

public <T extends IndexableField> void addDocument(Iterable<T> doc)
                 throws IOException
Adds a Document.

Throws:
IOException
See Also:
IndexWriter.addDocument(Iterable)

addDocument

public <T extends IndexableField> void addDocument(Iterable<T> doc,
                                                   Analyzer a)
                 throws IOException
Throws:
IOException

addDocuments

public void addDocuments(Iterable<? extends Iterable<? extends IndexableField>> docs)
                  throws IOException
Throws:
IOException

updateDocuments

public void updateDocuments(Term delTerm,
                            Iterable<? extends Iterable<? extends IndexableField>> docs)
                     throws IOException
Throws:
IOException

updateDocument

public <T extends IndexableField> void updateDocument(Term t,
                                                      Iterable<T> doc)
                    throws IOException
Updates a document.

Throws:
IOException
See Also:
IndexWriter.updateDocument(Term, Iterable)

addIndexes

public void addIndexes(Directory... dirs)
                throws IOException
Throws:
IOException

addIndexes

public void addIndexes(IndexReader... readers)
                throws IOException
Throws:
IOException

updateNumericDocValue

public void updateNumericDocValue(Term term,
                                  String field,
                                  Long value)
                           throws IOException
Throws:
IOException

deleteDocuments

public void deleteDocuments(Term term)
                     throws IOException
Throws:
IOException

deleteDocuments

public void deleteDocuments(Query q)
                     throws IOException
Throws:
IOException

commit

public void commit()
            throws IOException
Throws:
IOException

numDocs

public int numDocs()

maxDoc

public int maxDoc()

deleteAll

public void deleteAll()
               throws IOException
Throws:
IOException

getReader

public DirectoryReader getReader()
                          throws IOException
Throws:
IOException

forceMergeDeletes

public void forceMergeDeletes(boolean doWait)
                       throws IOException
Throws:
IOException

forceMergeDeletes

public void forceMergeDeletes()
                       throws IOException
Throws:
IOException

setDoRandomForceMerge

public void setDoRandomForceMerge(boolean v)

setDoRandomForceMergeAssert

public void setDoRandomForceMergeAssert(boolean v)

getReader

public DirectoryReader getReader(boolean applyDeletions)
                          throws IOException
Throws:
IOException

close

public void close()
           throws IOException
Close this writer.

Specified by:
close in interface Closeable
Throws:
IOException
See Also:
IndexWriter.close()

forceMerge

public void forceMerge(int maxSegmentCount)
                throws IOException
Forces a forceMerge.

NOTE: this should be avoided in tests unless absolutely necessary, as it will result in less test coverage.

Throws:
IOException
See Also:
IndexWriter.forceMerge(int)


Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.