org.opencms.search
public class CmsLuceneIndexWriter extends java.lang.Object implements I_CmsIndexWriter
Modifier and Type | Field and Description |
---|---|
protected static org.apache.commons.logging.Log |
LOG
The log object for this class.
|
Constructor and Description |
---|
CmsLuceneIndexWriter(org.apache.lucene.index.IndexWriter indexWriter)
Creates a new index writer based on the provided standard Lucene IndexWriter.
|
CmsLuceneIndexWriter(org.apache.lucene.index.IndexWriter indexWriter,
CmsSearchIndex index)
Creates a new index writer based on the provided standard Lucene IndexWriter for the
provided OpenCms search index instance.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Close this IndexWriter.
|
void |
commit()
Commit all previous operations.
|
void |
deleteDocument(CmsPublishedResource resource)
Delete a document from the index.
|
void |
optimize()
Optimizes the index.
|
void |
updateDocument(java.lang.String rootPath,
I_CmsSearchDocument document)
Update a document in the index.
|
protected static final org.apache.commons.logging.Log LOG
public CmsLuceneIndexWriter(org.apache.lucene.index.IndexWriter indexWriter)
indexWriter
- the standard Lucene IndexWriter to use as delegatepublic CmsLuceneIndexWriter(org.apache.lucene.index.IndexWriter indexWriter, CmsSearchIndex index)
The OpenCms search instance is currently used only for improved logging of the index operations.
indexWriter
- the standard Lucene IndexWriter to use as delegateindex
- the OpenCms search index instance this writer to supposed to write topublic void close() throws java.io.IOException
I_CmsIndexWriter
close
in interface I_CmsIndexWriter
java.io.IOException
I_CmsIndexWriter.close()
public void commit() throws java.io.IOException
I_CmsIndexWriter
commit
in interface I_CmsIndexWriter
java.io.IOException
I_CmsIndexWriter.commit()
public void deleteDocument(CmsPublishedResource resource) throws java.io.IOException
I_CmsIndexWriter
deleteDocument
in interface I_CmsIndexWriter
resource
- the resource to deletejava.io.IOException
- in case something goes wrongI_CmsIndexWriter.deleteDocument(org.opencms.db.CmsPublishedResource)
public void optimize() throws java.io.IOException
I_CmsIndexWriter
Please note that as of Lucene 3.5, the direct use of optimize is discouraged as Lucene apparently is now able to manage the file structure so efficiently that frequent optimizations are not longer required.
optimize
in interface I_CmsIndexWriter
java.io.IOException
As optimize is deprecated with Lucene 3.5, this implementation
actually calls {@link IndexWriter#forceMerge(int)}.
public void updateDocument(java.lang.String rootPath, I_CmsSearchDocument document) throws java.io.IOException
I_CmsIndexWriter
updateDocument
in interface I_CmsIndexWriter
rootPath
- the root path of the document to updatedocument
- the document to updatejava.io.IOException
- in case something goes wrongI_CmsIndexWriter.updateDocument(java.lang.String, org.opencms.search.I_CmsSearchDocument)