org.apache.solr.update
Class SolrIndexWriter

java.lang.Object
  extended by org.apache.lucene.index.IndexWriter
      extended by org.apache.solr.update.SolrIndexWriter

public class SolrIndexWriter
extends org.apache.lucene.index.IndexWriter

An IndexWriter that is configured via Solr config mechanisms.

Since:
solr 0.9
Version:
$Id: SolrIndexWriter.java 684339 2008-08-09 20:34:35Z yonik $

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.lucene.index.IndexWriter
org.apache.lucene.index.IndexWriter.MaxFieldLength
 
Field Summary
 
Fields inherited from class org.apache.lucene.index.IndexWriter
DEFAULT_MAX_BUFFERED_DELETE_TERMS, DEFAULT_MAX_BUFFERED_DOCS, DEFAULT_MAX_FIELD_LENGTH, DEFAULT_MAX_MERGE_DOCS, DEFAULT_MAX_SYNC_PAUSE_SECONDS, DEFAULT_MERGE_FACTOR, DEFAULT_RAM_BUFFER_SIZE_MB, DEFAULT_TERM_INDEX_INTERVAL, DISABLE_AUTO_FLUSH, MAX_TERM_LENGTH, WRITE_LOCK_NAME, WRITE_LOCK_TIMEOUT
 
Constructor Summary
SolrIndexWriter(String name, String path, boolean create, IndexSchema schema)
           
SolrIndexWriter(String name, String path, boolean create, IndexSchema schema, SolrIndexConfig config)
           
 
Method Summary
 void close()
          use DocumentBuilder now...
protected  void finalize()
           
static org.apache.lucene.store.Directory getDirectory(String path, SolrIndexConfig config)
           
 
Methods inherited from class org.apache.lucene.index.IndexWriter
abort, addDocument, addDocument, addIndexes, addIndexes, addIndexesNoOptimize, close, commit, deleteDocuments, deleteDocuments, deleteDocuments, deleteDocuments, docCount, ensureOpen, ensureOpen, expungeDeletes, expungeDeletes, flush, flush, getAnalyzer, getDefaultInfoStream, getDefaultWriteLockTimeout, getDirectory, getInfoStream, getMaxBufferedDeleteTerms, getMaxBufferedDocs, getMaxFieldLength, getMaxMergeDocs, getMaxSyncPauseSeconds, getMergeFactor, getMergePolicy, getMergeScheduler, getRAMBufferSizeMB, getSimilarity, getTermIndexInterval, getUseCompoundFile, getWriteLockTimeout, hasDeletions, isLocked, isLocked, maxDoc, maybeMerge, message, numDocs, numRamDocs, optimize, optimize, optimize, optimize, prepareCommit, ramSizeInBytes, rollback, segString, setDefaultInfoStream, setDefaultWriteLockTimeout, setInfoStream, setMaxBufferedDeleteTerms, setMaxBufferedDocs, setMaxFieldLength, setMaxMergeDocs, setMaxSyncPauseSeconds, setMergeFactor, setMergePolicy, setMergeScheduler, setRAMBufferSizeMB, setSimilarity, setTermIndexInterval, setUseCompoundFile, setWriteLockTimeout, unlock, updateDocument, updateDocument
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SolrIndexWriter

public SolrIndexWriter(String name,
                       String path,
                       boolean create,
                       IndexSchema schema)
                throws IOException
Throws:
IOException

SolrIndexWriter

public SolrIndexWriter(String name,
                       String path,
                       boolean create,
                       IndexSchema schema,
                       SolrIndexConfig config)
                throws IOException
Throws:
IOException
Method Detail

getDirectory

public static org.apache.lucene.store.Directory getDirectory(String path,
                                                             SolrIndexConfig config)
                                                      throws IOException
Throws:
IOException

close

public void close()
           throws IOException
use DocumentBuilder now... private final void addField(Document doc, String name, String val) { SchemaField ftype = schema.getField(name);

// we don't check for a null val ourselves because a solr.FieldType // might actually want to map it to something. If createField() // returns null, then we don't store the field.

Field field = ftype.createField(val, boost); if (field != null) doc.add(field); }

public void addRecord(String[] fieldNames, String[] fieldValues) throws IOException { Document doc = new Document(); for (int i=0; i // first null is end of list. client can reuse arrays if they want // and just write a single null if there is unused space. if (name==null) break;

addField(doc,name,val); } addDocument(doc); } ****

Overrides:
close in class org.apache.lucene.index.IndexWriter
Throws:
IOException

finalize

protected void finalize()
Overrides:
finalize in class org.apache.lucene.index.IndexWriter


Copyright © 2009 Apache Software Foundation. All Rights Reserved.