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.


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()
           
 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)
           
 
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

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

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-2013 Apache Software Foundation. All Rights Reserved.