public class LuceneIndexer extends DocumentIndexer
| Modifier and Type | Field and Description |
|---|---|
private static org.apache.lucene.store.Directory |
index
The index.
|
private static LuceneIndexer |
indexer
The indexer.
|
private static boolean |
isInitialized
The is initialized.
|
private static org.slf4j.Logger |
log
log for this class.
|
private static String |
luceneDirPath
The lucene dir path.
|
private static org.apache.lucene.index.IndexReader |
reader
The reader.
|
private static boolean |
readyForCommit
The ready for commit.
|
private static org.apache.lucene.index.IndexWriter |
w
The w.
|
analyzer, DEFAULT_SEARCHABLE_FIELD, docNumber, INDEX_NAME, SUPERCOLUMN_INDEX, tokenizer| Modifier | Constructor and Description |
|---|---|
private |
LuceneIndexer(String lucDirPath)
Instantiates a new lucene indexer.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close of transaction.
|
private void |
copy(org.apache.lucene.store.Directory src,
org.apache.lucene.store.Directory to) |
boolean |
documentExistsInIndex(EntityMetadata metadata,
Object id,
EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata,
boolean isEmbeddedId,
Class<?> parentClazz) |
boolean |
entityExistsInIndex(Class<?> entityClass,
EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata,
EntityMetadata metadata) |
void |
flush() |
private void |
flushInternal()
Flush internal.
|
private File |
getIndexDirectory()
Creates a Lucene index directory if it does not exist.
|
private org.apache.lucene.index.IndexReader |
getIndexReader()
Returns default index reader.
|
private org.apache.lucene.index.IndexWriter |
getIndexWriter()
Added for HBase support.
|
static LuceneIndexer |
getInstance(String lucDirPath)
Gets the single instance of LuceneIndexer.
|
private String |
getLuceneQuery(EntityMetadata metadata,
Object id,
boolean isEmbeddedId,
MetamodelImpl metaModel,
Class<?> parentClazz) |
void |
index(Class entityClazz,
EntityMetadata entityMetadata,
Map<String,Object> values,
Object parentId,
Class parentClazz) |
void |
index(EntityMetadata metadata,
MetamodelImpl metaModel,
Object object) |
void |
index(EntityMetadata metadata,
MetamodelImpl metaModel,
Object object,
String parentId,
Class<?> clazz) |
private org.apache.lucene.document.Document |
indexCollectionObject(EntityMetadata metadata,
Object entity,
String parentId,
Class<?> clazz,
boolean isUpdate,
Object rowKey,
String attributeName,
javax.persistence.metamodel.EmbeddableType embeddableAttribute,
ElementCollectionCacheManager ecCacheHandler,
int lastEmbeddedObjectCount,
Object obj,
MetamodelImpl metamodel) |
void |
indexDocument(EntityMetadata metadata,
org.apache.lucene.document.Document document)
Indexes document in file system using lucene.
|
private org.apache.lucene.document.Document |
indexDocument(EntityMetadata metadata,
MetamodelImpl metaModel,
Object object,
String parentId,
Class<?> clazz)
Index document.
|
private void |
onCommit()
On commit.
|
void |
prepareEmbeddedId(org.apache.lucene.search.TopDocs docs,
Map<String,Object> indexCol,
org.apache.lucene.search.IndexSearcher searcher,
EntityMetadata metadata,
MetamodelImpl metaModel)
search the data from lucene for embeddedid
|
private void |
prepareEmbeddedIdFields(Set<javax.persistence.metamodel.Attribute> embeddedAttributes,
MetamodelImpl metaModel,
Map<String,Object> embeddedIdFields,
org.apache.lucene.document.Document doc,
EntityMetadata metadata) |
Map<String,Object> |
search(Class<?> clazz,
EntityMetadata m,
String luceneQuery,
int start,
int end) |
Map<String,Object> |
search(EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata,
KunderaQuery kunderaQuery,
PersistenceDelegator persistenceDelegator,
EntityMetadata m,
int firstResult,
int maxResults) |
Map<String,Object> |
search(String luceneQuery,
int start,
int count,
boolean fetchRelation,
EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata,
EntityMetadata metadata) |
void |
unIndex(Class entityClazz,
Object entity,
EntityMetadata metadata,
MetamodelImpl metamodel) |
void |
unindex(EntityMetadata metadata,
Object id,
EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata,
Class<?> parentClazz) |
void |
update(EntityMetadata metadata,
MetamodelImpl metaModel,
Object entity,
Object id,
String parentId) |
private void |
updateDocument(EntityMetadata metadata,
MetamodelImpl metaModel,
Object entity,
String parentId,
Class<? extends Object> class1,
boolean b)
Updates document.
|
void |
updateDocument(String id,
org.apache.lucene.document.Document document,
String EmbeddedEntityFieldName)
Indexes document in file system using lucene.
|
private org.apache.lucene.document.Document |
updateOrCreateIndex(EntityMetadata metadata,
MetamodelImpl metaModel,
Object entity,
String parentId,
Class<?> clazz,
boolean isUpdate)
Update/Index document.
|
private org.apache.lucene.document.Document |
updateOrCreateIndexCollectionTypeEmbeddedObject(EntityMetadata metadata,
MetamodelImpl metaModel,
Object entity,
String parentId,
Class<?> clazz,
boolean isUpdate,
org.apache.lucene.document.Document document,
Object embeddedObject,
Object rowKey,
String attributeName,
javax.persistence.metamodel.EmbeddableType embeddableAttribute)
update or create indexes when embedded object is of collection type
|
private void |
updateOrCreateIndexEmbeddedIdFields(Set<javax.persistence.metamodel.Attribute> embeddedAttributes,
MetamodelImpl metaModel,
org.apache.lucene.document.Document document,
EntityMetadata metadata,
Object rowKey) |
private org.apache.lucene.document.Document |
updateOrCreateIndexNonSuperColumnFamily(EntityMetadata metadata,
MetamodelImpl metaModel,
Object entity,
String parentId,
Class<?> clazz,
boolean isUpdate,
boolean isEmbeddedId,
Object rowKey)
update or Create Index for non super columnfamily
|
addAssociatedEntitiesToDocument, addEntityClassToDocument, addEntityFieldsToDocument, addParentKeyToDocument, createSuperColumnDocument, getCannonicalPropertyName, getKunderaId, indexCompositeKey, indexSuperColumn, prepareDocumentForSuperColumn, searchprivate static org.slf4j.Logger log
private static org.apache.lucene.index.IndexWriter w
private static org.apache.lucene.index.IndexReader reader
private static org.apache.lucene.store.Directory index
private static boolean isInitialized
private static LuceneIndexer indexer
private static boolean readyForCommit
private static String luceneDirPath
private LuceneIndexer(String lucDirPath)
analyzer - the analyzerlucDirPath - the luc dir pathpublic static LuceneIndexer getInstance(String lucDirPath)
analyzer - the analyzerlucDirPath - the luc dir pathprivate org.apache.lucene.index.IndexWriter getIndexWriter()
private org.apache.lucene.index.IndexReader getIndexReader()
private File getIndexDirectory()
public final void index(EntityMetadata metadata, MetamodelImpl metaModel, Object object)
public final void unindex(EntityMetadata metadata, Object id, EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata, Class<?> parentClazz) throws LuceneIndexingException
LuceneIndexingExceptionprivate String getLuceneQuery(EntityMetadata metadata, Object id, boolean isEmbeddedId, MetamodelImpl metaModel, Class<?> parentClazz)
metadata - id - isEmbeddedId - metaModel - public final void update(EntityMetadata metadata, MetamodelImpl metaModel, Object entity, Object id, String parentId)
public void prepareEmbeddedId(org.apache.lucene.search.TopDocs docs,
Map<String,Object> indexCol,
org.apache.lucene.search.IndexSearcher searcher,
EntityMetadata metadata,
MetamodelImpl metaModel)
docs - indexCol - searcher - metadata - metaModel - private void prepareEmbeddedIdFields(Set<javax.persistence.metamodel.Attribute> embeddedAttributes, MetamodelImpl metaModel, Map<String,Object> embeddedIdFields, org.apache.lucene.document.Document doc, EntityMetadata metadata)
public final Map<String,Object> search(String luceneQuery, int start, int count, boolean fetchRelation, EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata, EntityMetadata metadata)
public void indexDocument(EntityMetadata metadata, org.apache.lucene.document.Document document)
indexDocument in class DocumentIndexermetadata - the metadatadocument - the documentpublic void updateDocument(String id, org.apache.lucene.document.Document document, String EmbeddedEntityFieldName)
metadata - the metadatadocument - the documentprivate void flushInternal()
public void close()
public void flush()
public void index(EntityMetadata metadata, MetamodelImpl metaModel, Object object, String parentId, Class<?> clazz)
public boolean entityExistsInIndex(Class<?> entityClass, EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata, EntityMetadata metadata)
public boolean documentExistsInIndex(EntityMetadata metadata, Object id, EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata, boolean isEmbeddedId, Class<?> parentClazz)
private org.apache.lucene.document.Document indexDocument(EntityMetadata metadata, MetamodelImpl metaModel, Object object, String parentId, Class<?> clazz)
metadata - the metadataobject - the objectparentId - the parent idclazz - the clazzprivate org.apache.lucene.document.Document updateOrCreateIndex(EntityMetadata metadata, MetamodelImpl metaModel, Object entity, String parentId, Class<?> clazz, boolean isUpdate)
metadata - the metadataentity - the objectparentId - the parent idclazz - the clazzprivate org.apache.lucene.document.Document updateOrCreateIndexNonSuperColumnFamily(EntityMetadata metadata, MetamodelImpl metaModel, Object entity, String parentId, Class<?> clazz, boolean isUpdate, boolean isEmbeddedId, Object rowKey)
metadata - metaModel - entity - parentId - clazz - isUpdate - isEmbeddedId - rowKey - private void updateOrCreateIndexEmbeddedIdFields(Set<javax.persistence.metamodel.Attribute> embeddedAttributes, MetamodelImpl metaModel, org.apache.lucene.document.Document document, EntityMetadata metadata, Object rowKey)
private org.apache.lucene.document.Document updateOrCreateIndexCollectionTypeEmbeddedObject(EntityMetadata metadata, MetamodelImpl metaModel, Object entity, String parentId, Class<?> clazz, boolean isUpdate, org.apache.lucene.document.Document document, Object embeddedObject, Object rowKey, String attributeName, javax.persistence.metamodel.EmbeddableType embeddableAttribute)
metadata - metaModel - entity - parentId - clazz - isUpdate - document - embeddedObject - rowKey - attributeName - embeddableAttribute - private org.apache.lucene.document.Document indexCollectionObject(EntityMetadata metadata, Object entity, String parentId, Class<?> clazz, boolean isUpdate, Object rowKey, String attributeName, javax.persistence.metamodel.EmbeddableType embeddableAttribute, ElementCollectionCacheManager ecCacheHandler, int lastEmbeddedObjectCount, Object obj, MetamodelImpl metamodel)
private void onCommit()
public void index(Class entityClazz, EntityMetadata entityMetadata, Map<String,Object> values, Object parentId, Class parentClazz)
public void unIndex(Class entityClazz, Object entity, EntityMetadata metadata, MetamodelImpl metamodel)
public Map<String,Object> search(Class<?> clazz, EntityMetadata m, String luceneQuery, int start, int end)
private void copy(org.apache.lucene.store.Directory src,
org.apache.lucene.store.Directory to)
throws IOException
IOExceptionprivate void updateDocument(EntityMetadata metadata, MetamodelImpl metaModel, Object entity, String parentId, Class<? extends Object> class1, boolean b)
metadata - the metadataentity - the objectparentId - the parent idclazz - the clazzpublic Map<String,Object> search(EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata, KunderaQuery kunderaQuery, PersistenceDelegator persistenceDelegator, EntityMetadata m, int firstResult, int maxResults)
Copyright © 2018. All Rights Reserved.