public class AVMLuceneIndexerImpl extends AbstractLuceneIndexerImpl implements AVMLuceneIndexer
| Modifier and Type | Class and Description |
|---|---|
protected static class |
AVMLuceneIndexerImpl.IndexDeleteMode |
AbstractLuceneIndexerImpl.Action, AbstractLuceneIndexerImpl.Command, AbstractLuceneIndexerImpl.FTSStatus, AbstractLuceneIndexerImpl.IndexUpdateStatus| Modifier and Type | Field and Description |
|---|---|
protected java.util.Set |
deletionsSinceFlush
A list of deletions associated with the changes to nodes in the current flush
|
bulkLoader, commandList, containerDeletions, deletions, docs, indexUpdateStatus, maxAtomicTransformationTime, NOT_INDEXED_CONTENT_MISSING, NOT_INDEXED_NO_TRANSFORMATION, NOT_INDEXED_NO_TYPE_CONVERSION, NOT_INDEXED_TRANSFORMATION_FAILED, transactionServicedeltaId, store| Constructor and Description |
|---|
AVMLuceneIndexerImpl() |
| Modifier and Type | Method and Description |
|---|---|
void |
asyncronousCreateIndex(java.lang.String store)
Asyn create index
|
void |
asyncronousDeleteIndex(java.lang.String store)
Support to delete all entries frmo the idnex in the background
|
void |
createChildRelationship(org.alfresco.service.cmr.repository.ChildAssociationRef relationshipRef)
Create a refernce link between a parent and child.
|
protected java.util.List |
createDocuments(java.lang.String stringNodeRef,
AbstractLuceneIndexerImpl.FTSStatus ftsStatus,
boolean indexAllProperties,
boolean includeDirectoryDocuments) |
void |
createIndex(java.lang.String store,
IndexMode mode)
Create an index for the specified store.
|
void |
createNode(org.alfresco.service.cmr.repository.ChildAssociationRef relationshipRef)
Create an index entry when a new node is created.
|
void |
deleteAll()
Delete all entries from the index.
|
void |
deleteAll(java.lang.String prefix)
Delete all index entries which do not start with the given prefix
|
void |
deleteChildRelationship(org.alfresco.service.cmr.repository.ChildAssociationRef relationshipRef)
Delete a relationship between a parent and child.
|
protected java.util.Set |
deleteImpl(java.lang.String nodeRef,
AVMLuceneIndexerImpl.IndexDeleteMode mode,
boolean cascade,
org.apache.lucene.index.IndexReader mainReader) |
void |
deleteIndex(org.alfresco.service.cmr.repository.StoreRef storeRef)
Delete the index for a store
|
void |
deleteIndex(java.lang.String store,
IndexMode mode)
Delete the index for the specified store.
|
void |
deleteNode(org.alfresco.service.cmr.repository.ChildAssociationRef relationshipRef)
Delete a node entry from an index.
|
void |
detectNodeChanges(org.alfresco.service.cmr.repository.NodeRef nodeRef,
org.alfresco.service.cmr.search.SearchService searcher,
java.util.Collection addedParents,
java.util.Collection deletedParents,
java.util.Collection createdNodes,
java.util.Collection updatedNodes)
Does a database vs index comparison for the given created/updated/renamed/referenced nodeRef in order to
determine the set of indexing operations required
|
protected void |
doCommit() |
protected void |
doPrepare() |
protected void |
doRollBack() |
protected void |
doSetRollbackOnly() |
void |
flushPending() |
boolean |
getDeleteOnlyNodes()
Are we deleting leaves only (not meta data)
|
long |
getIndexedDocCount()
Get the number of docs this indexer has indexed so far
|
int |
getLastIndexedSnapshot(java.lang.String store)
Get the last snapshot in the index - this does not mean that all snapshots before it have been indexed.
|
static AVMLuceneIndexerImpl |
getUpdateIndexer(org.alfresco.service.cmr.repository.StoreRef storeRef,
java.lang.String deltaId,
LuceneConfig config)
Generate an indexer
|
boolean |
hasIndexBeenCreated(java.lang.String store)
Has the index been ceated
|
boolean |
hasIndexBeenCreatedimpl(java.lang.String store,
org.alfresco.repo.search.impl.lucene.AVMLuceneIndexerImpl.IndexChannel channel) |
void |
index(java.lang.String store,
int srcVersion,
int dstVersion,
IndexMode mode)
Index a specified change to a store
|
protected void |
indexImpl(java.lang.String nodeRef,
boolean isNew) |
protected boolean |
indexProperty(org.alfresco.service.cmr.repository.NodeRef banana,
org.alfresco.service.namespace.QName propertyName,
java.io.Serializable value,
org.apache.lucene.document.Document doc,
boolean indexAtomicPropertiesOnly,
java.util.Map properties,
boolean isContentIndexedForNode) |
boolean |
isSnapshotIndexed(java.lang.String store,
int id)
Is the snapshot applied to the index?
Is there an entry for any node that was added OR have all the nodes in the transaction been deleted as expected?
|
boolean |
isSnapshotSearchable(java.lang.String store,
int id)
Is snapshot searchable
|
protected java.io.Serializable |
makeSerializableValue(org.alfresco.service.cmr.dictionary.PropertyDefinition propertyDef,
PropertyValue propertyValue) |
protected java.util.List |
readDocuments(java.lang.String stringNodeRef,
AbstractLuceneIndexerImpl.FTSStatus ftsStatus,
boolean indexAllProperties,
boolean includeDirectoryDocuments) |
void |
registerCallBack(FTSIndexerAware callBack)
Register call back handler when the indexing chunk is done
|
void |
setAvmService(AVMService avmService)
Set the AVM Service
|
void |
setAvmSyncService(AVMSyncService avmSyncService)
Set the AVM sync service
|
void |
setContentService(ContentService contentService) |
void |
setContentStore(ContentStore contentStore)
Set the content service
|
void |
setFullTextSearchIndexer(FullTextSearchIndexer fullTextSearchIndexer)
Set the back ground indexer manager
|
void |
setTransformerDebug(TransformerDebug transformerDebug)
Helper setter of the transformer debug.
|
void |
syncronousCreateIndex(java.lang.String store)
Sync create index
|
void |
syncronousDeleteIndex(java.lang.String store)
Sync delete of this index
|
void |
updateChildRelationship(org.alfresco.service.cmr.repository.ChildAssociationRef relationshipBeforeRef,
org.alfresco.service.cmr.repository.ChildAssociationRef relationshipAfterRef)
Alter the relationship between parent and child nodes in the index.
|
int |
updateFullTextSearch(int size)
Peform a chunk of background FTS (and other non atomic property) indexing
|
void |
updateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Update an index entry due to property changes on a node.
|
checkAbleToDoWork, commit, delete, deleteContainerAndBelow, deleteLeafOnly, deletePrimary, deleteReference, doInReadthroughTransaction, getContainerDeletions, getDeletions, index, isModified, locateContainer, prepare, reindex, rollback, setBulkLoader, setMaxAtomicTransformationTime, setReadThrough, setRollbackOnly, setTransactionServicecloseDeltaReader, closeDeltaWriter, deleteIndex, doReadOnly, getDeltaId, getDeltaReader, getDeltaWriter, getDictionaryService, getLuceneConfig, getReader, getSearcher, getSearcher, getStatus, initialise, saveDelta, setDictionaryService, setInfo, setLuceneConfig, setStatusclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdoReadOnly, getContainerDeletions, getDeletions, getDeltaIdsetReadThroughcommit, isModified, prepare, rollbackprotected java.util.Set deletionsSinceFlush
public void setAvmService(AVMService avmService)
avmService - public void setAvmSyncService(AVMSyncService avmSyncService)
avmSyncService - public void setContentStore(ContentStore contentStore)
contentStore - public void setContentService(ContentService contentService)
contentService - public void setTransformerDebug(TransformerDebug transformerDebug)
transformerDebug - public boolean getDeleteOnlyNodes()
getDeleteOnlyNodes in interface LuceneIndexerpublic static AVMLuceneIndexerImpl getUpdateIndexer(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String deltaId, LuceneConfig config) throws LuceneIndexException
storeRef - deltaId - config - LuceneIndexExceptionpublic void index(java.lang.String store,
int srcVersion,
int dstVersion,
IndexMode mode)
index in interface AVMLuceneIndexerstore - srcVersion - dstVersion - protected java.util.Set deleteImpl(java.lang.String nodeRef,
AVMLuceneIndexerImpl.IndexDeleteMode mode,
boolean cascade,
org.apache.lucene.index.IndexReader mainReader)
throws LuceneIndexException,
java.io.IOException
LuceneIndexExceptionjava.io.IOExceptionprotected java.util.List createDocuments(java.lang.String stringNodeRef,
AbstractLuceneIndexerImpl.FTSStatus ftsStatus,
boolean indexAllProperties,
boolean includeDirectoryDocuments)
protected java.util.List readDocuments(java.lang.String stringNodeRef,
AbstractLuceneIndexerImpl.FTSStatus ftsStatus,
boolean indexAllProperties,
boolean includeDirectoryDocuments)
protected void indexImpl(java.lang.String nodeRef,
boolean isNew)
throws LuceneIndexException,
java.io.IOException
LuceneIndexExceptionjava.io.IOExceptionpublic void flushPending()
throws LuceneIndexException
flushPending in interface IndexerLuceneIndexExceptionprotected java.io.Serializable makeSerializableValue(org.alfresco.service.cmr.dictionary.PropertyDefinition propertyDef,
PropertyValue propertyValue)
protected boolean indexProperty(org.alfresco.service.cmr.repository.NodeRef banana,
org.alfresco.service.namespace.QName propertyName,
java.io.Serializable value,
org.apache.lucene.document.Document doc,
boolean indexAtomicPropertiesOnly,
java.util.Map properties,
boolean isContentIndexedForNode)
protected void doPrepare()
throws java.io.IOException
doPrepare in class AbstractLuceneIndexerImpljava.io.IOExceptionprotected void doCommit()
throws java.io.IOException
doCommit in class AbstractLuceneIndexerImpljava.io.IOExceptionprotected void doRollBack()
throws java.io.IOException
doRollBack in class AbstractLuceneIndexerImpljava.io.IOExceptionprotected void doSetRollbackOnly()
throws java.io.IOException
doSetRollbackOnly in class AbstractLuceneIndexerImpljava.io.IOExceptionpublic void createNode(org.alfresco.service.cmr.repository.ChildAssociationRef relationshipRef)
IndexercreateNode in interface Indexerpublic void detectNodeChanges(org.alfresco.service.cmr.repository.NodeRef nodeRef,
org.alfresco.service.cmr.search.SearchService searcher,
java.util.Collection addedParents,
java.util.Collection deletedParents,
java.util.Collection createdNodes,
java.util.Collection updatedNodes)
IndexerdetectNodeChanges in interface IndexernodeRef - the nodeRef to processsearcher - searcher to query the indexesaddedParents - set to add new secondary parent associations todeletedParents - set to add removed secondary parent associations tocreatedNodes - set to add created nodes toupdatedNodes - set to add updated nodes topublic void updateNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
IndexerupdateNode in interface Indexerpublic void deleteNode(org.alfresco.service.cmr.repository.ChildAssociationRef relationshipRef)
IndexerdeleteNode in interface Indexerpublic void createChildRelationship(org.alfresco.service.cmr.repository.ChildAssociationRef relationshipRef)
IndexercreateChildRelationship in interface Indexerpublic void updateChildRelationship(org.alfresco.service.cmr.repository.ChildAssociationRef relationshipBeforeRef,
org.alfresco.service.cmr.repository.ChildAssociationRef relationshipAfterRef)
IndexerupdateChildRelationship in interface Indexerpublic void deleteChildRelationship(org.alfresco.service.cmr.repository.ChildAssociationRef relationshipRef)
IndexerdeleteChildRelationship in interface Indexerpublic void deleteIndex(java.lang.String store,
IndexMode mode)
AVMLuceneIndexerdeleteIndex in interface AVMLuceneIndexerpublic void syncronousDeleteIndex(java.lang.String store)
store - public void asyncronousDeleteIndex(java.lang.String store)
store - public void createIndex(java.lang.String store,
IndexMode mode)
AVMLuceneIndexercreateIndex in interface AVMLuceneIndexerpublic void syncronousCreateIndex(java.lang.String store)
store - public void asyncronousCreateIndex(java.lang.String store)
store - public void registerCallBack(FTSIndexerAware callBack)
BackgroundIndexerAwareregisterCallBack in interface BackgroundIndexerAwarepublic int updateFullTextSearch(int size)
BackgroundIndexerAwareupdateFullTextSearch in interface BackgroundIndexerAwarepublic void setFullTextSearchIndexer(FullTextSearchIndexer fullTextSearchIndexer)
SupportsBackgroundIndexingsetFullTextSearchIndexer in interface SupportsBackgroundIndexingpublic boolean isSnapshotIndexed(java.lang.String store,
int id)
AVMLuceneIndexerisSnapshotIndexed in interface AVMLuceneIndexerpublic boolean isSnapshotSearchable(java.lang.String store,
int id)
AVMLuceneIndexerisSnapshotSearchable in interface AVMLuceneIndexerpublic boolean hasIndexBeenCreated(java.lang.String store)
AVMLuceneIndexerhasIndexBeenCreated in interface AVMLuceneIndexerpublic boolean hasIndexBeenCreatedimpl(java.lang.String store,
org.alfresco.repo.search.impl.lucene.AVMLuceneIndexerImpl.IndexChannel channel)
public long getIndexedDocCount()
AVMLuceneIndexergetIndexedDocCount in interface AVMLuceneIndexerpublic int getLastIndexedSnapshot(java.lang.String store)
AVMLuceneIndexergetLastIndexedSnapshot in interface AVMLuceneIndexerpublic void deleteIndex(org.alfresco.service.cmr.repository.StoreRef storeRef)
IndexerdeleteIndex in interface Indexerpublic void deleteAll()
public void deleteAll(java.lang.String prefix)
prefix - Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.