|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.solr.update.UpdateHandler
org.apache.solr.update.DirectUpdateHandler2
public class DirectUpdateHandler2
DirectUpdateHandler2
implements an UpdateHandler where documents are added
directly to the main Lucene index as opposed to adding to a separate smaller index.
For this reason, not all combinations to/from pending and committed are supported.
This version supports efficient removal of duplicates on a commit. It works by maintaining
a related count for every document being added or deleted. At commit time, for every id with a count,
all but the last "count" docs with that id are deleted.
Supported add command parameters:
allowDups | overwritePending | overwriteCommitted | efficiency |
---|---|---|---|
false | false | true | fast |
true or false | true | true | fast |
true | false | false | fastest |
Supported delete commands:
command | fromPending | fromCommitted | efficiency |
---|---|---|---|
delete | true | true | fast |
deleteByQuery | true | true | very slow* |
* deleteByQuery causes a commit to happen (close current index writer, open new index reader) before it can be processed. If deleteByQuery functionality is needed, it's best if they can be batched and executed together so they may share the same index reader.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoMBean |
---|
SolrInfoMBean.Category |
Field Summary | |
---|---|
protected Lock |
iwAccess
|
protected Lock |
iwCommit
|
protected static Integer |
ONE
|
protected Map<String,Integer> |
pset
|
protected SolrIndexSearcher |
searcher
|
protected org.apache.solr.update.DirectUpdateHandler2.CommitTracker |
tracker
|
protected IndexWriter |
writer
|
protected static Integer |
ZERO
|
Fields inherited from class org.apache.solr.update.UpdateHandler |
---|
commitCallbacks, core, idField, idFieldType, log, optimizeCallbacks, schema |
Constructor Summary | |
---|---|
DirectUpdateHandler2(SolrCore core)
|
Method Summary | |
---|---|
protected int |
addConditionally(AddUpdateCommand cmd)
|
int |
addDoc(AddUpdateCommand cmd)
|
protected int |
allowDups(AddUpdateCommand cmd)
|
void |
close()
|
protected void |
closeSearcher()
|
protected void |
closeWriter()
|
void |
commit(CommitUpdateCommand cmd)
|
void |
delete(DeleteUpdateCommand cmd)
|
void |
deleteByQuery(DeleteUpdateCommand cmd)
|
protected void |
doDeletions()
|
SolrInfoMBean.Category |
getCategory()
Purpose of this Class |
String |
getDescription()
Simple one or two line description |
URL[] |
getDocs()
Documentation URL list. |
String |
getName()
Simple common usage name, e.g. |
String |
getSource()
CVS Source, SVN Source, etc |
String |
getSourceId()
CVS Id, SVN Id, etc |
NamedList |
getStatistics()
Any statistics this instance would like to be publicly available via the Solr Administration interface. |
String |
getVersion()
Simple common usage version, e.g. |
protected void |
openSearcher()
|
protected void |
openWriter()
|
protected int |
overwriteBoth(AddUpdateCommand cmd)
|
String |
toString()
|
Methods inherited from class org.apache.solr.update.UpdateHandler |
---|
callPostCommitCallbacks, callPostOptimizeCallbacks, createMainIndexWriter, getIndexedId, getIndexedIdOptional, idTerm |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final org.apache.solr.update.DirectUpdateHandler2.CommitTracker tracker
protected final Map<String,Integer> pset
protected static final Integer ZERO
protected static final Integer ONE
protected final Lock iwAccess
protected final Lock iwCommit
protected IndexWriter writer
protected SolrIndexSearcher searcher
Constructor Detail |
---|
public DirectUpdateHandler2(SolrCore core) throws IOException
IOException
Method Detail |
---|
protected void openWriter() throws IOException
IOException
protected void closeWriter() throws IOException
IOException
protected void openSearcher() throws IOException
IOException
protected void closeSearcher() throws IOException
IOException
public int addDoc(AddUpdateCommand cmd) throws IOException
addDoc
in class UpdateHandler
IOException
public void delete(DeleteUpdateCommand cmd) throws IOException
delete
in class UpdateHandler
IOException
public void deleteByQuery(DeleteUpdateCommand cmd) throws IOException
deleteByQuery
in class UpdateHandler
IOException
protected int addConditionally(AddUpdateCommand cmd) throws IOException
IOException
protected int overwriteBoth(AddUpdateCommand cmd) throws IOException
IOException
protected int allowDups(AddUpdateCommand cmd) throws IOException
IOException
protected void doDeletions() throws IOException
IOException
public void commit(CommitUpdateCommand cmd) throws IOException
commit
in class UpdateHandler
IOException
public void close() throws IOException
close
in class UpdateHandler
IOException
public String getName()
SolrInfoMBean
public String getVersion()
SolrInfoMBean
public String getDescription()
SolrInfoMBean
public SolrInfoMBean.Category getCategory()
SolrInfoMBean
public String getSourceId()
SolrInfoMBean
public String getSource()
SolrInfoMBean
public URL[] getDocs()
SolrInfoMBean
Suggested documentation URLs: Homepage for sponsoring project, FAQ on class usage, Design doc for class, Wiki, bug reporting URL, etc...
public NamedList getStatistics()
SolrInfoMBean
Any Object type may be stored in the list, but only the
toString()
representation will be used.
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |