public UpdateLuceneWork createUpdateWork(String tenantId, IndexedTypeIdentifier entityType, Object entity, Serializable id, String idInString, InstanceInitializer sessionInitializer, ConversionContext contextualBridge) { Map<String, String> fieldToAnalyzerMap = new HashMap<String, String>(); Document doc = getDocument( tenantId, entity, id, fieldToAnalyzerMap, sessionInitializer, contextualBridge, null ); final UpdateLuceneWork addWork; if ( fieldToAnalyzerMap.isEmpty() ) { addWork = new UpdateLuceneWork( tenantId, id, idInString, entityType, doc ); } else { addWork = new UpdateLuceneWork( tenantId, id, idInString, entityType, doc, fieldToAnalyzerMap ); } return addWork; }
public UpdateLuceneWork createUpdateWork(String tenantId, IndexedTypeIdentifier entityType, Object entity, Serializable id, String idInString, InstanceInitializer sessionInitializer, ConversionContext contextualBridge) { Map<String, String> fieldToAnalyzerMap = new HashMap<String, String>(); Document doc = getDocument( tenantId, entity, id, fieldToAnalyzerMap, sessionInitializer, contextualBridge, null ); final UpdateLuceneWork addWork; if ( fieldToAnalyzerMap.isEmpty() ) { addWork = new UpdateLuceneWork( tenantId, id, idInString, entityType, doc ); } else { addWork = new UpdateLuceneWork( tenantId, id, idInString, entityType, doc, fieldToAnalyzerMap ); } return addWork; }
@Override public void addUpdateLuceneWork(String entityClassName, Map<String, String> fieldToAnalyzerMap, ConversionContext conversionContext) { final IndexedTypeIdentifier fromName = typesRegistry.keyFromName( entityClassName ); LuceneWork result = new UpdateLuceneWork( id, objectIdInString( fromName, id, conversionContext ), fromName, getLuceneDocument(), fieldToAnalyzerMap ); results.add( result ); clearDocument(); id = null; }
@Override public void addUpdateLuceneWork(String entityClassName, Map<String, String> fieldToAnalyzerMap, ConversionContext conversionContext) { final IndexedTypeIdentifier fromName = typesRegistry.keyFromName( entityClassName ); LuceneWork result = new UpdateLuceneWork( id, objectIdInString( fromName, id, conversionContext ), fromName, getLuceneDocument(), fieldToAnalyzerMap ); results.add( result ); clearDocument(); id = null; }
@Override public UpdateLuceneWork cloneOverridingIdString(final UpdateLuceneWork lw, final KeyTransformationHandler keyTransformationHandler) { final Serializable id = lw.getId(); if (id == null) { //this is serialized work received from a remote node: take the getIdAsString instead final String idInString = lw.getIdInString(); return new UpdateLuceneWork(idInString, idInString, lw.getEntityType(), lw.getDocument(), lw.getFieldToAnalyzerMap()); } else { return lw; } } }
@Override public UpdateLuceneWork cloneOverridingIdString(final UpdateLuceneWork lw, final KeyTransformationHandler keyTransformationHandler) { final Serializable id = lw.getId(); if (id == null) { //this is serialized work received from a remote node: take the getIdAsString instead final String idInString = lw.getIdInString(); return new UpdateLuceneWork(idInString, idInString, lw.getEntityType(), lw.getDocument(), lw.getFieldToAnalyzerMap()); } else { return lw; } } }
private LuceneWork extractWork(Object item) { AddLuceneWork addWork = (AddLuceneWork) item; switch ( writeMode ) { case ADD: return (AddLuceneWork) item; case UPDATE: return new UpdateLuceneWork( addWork.getId(), addWork.getIdInString(), addWork.getEntityType(), addWork.getDocument(), addWork.getFieldToAnalyzerMap() ); default: throw new AssertionFailure( "Invalid WriteMode: " + writeMode ); } }
private List<LuceneWork> buildLuceneWorkList() throws Exception { List<LuceneWork> works = new ArrayList<LuceneWork>(); works.add( OptimizeLuceneWork.INSTANCE ); works.add( OptimizeLuceneWork.INSTANCE ); works.add( new OptimizeLuceneWork( remoteTypeId ) ); //won't be send over works.add( new PurgeAllLuceneWork( remoteTypeId ) ); works.add( new PurgeAllLuceneWork( remoteTypeId ) ); works.add( new DeleteByQueryLuceneWork( remoteTypeId, new SingularTermDeletionQuery( "key", "value" ) ) ); works.add( new DeleteLuceneWork( 123L, "123", remoteTypeId ) ); works.add( new DeleteLuceneWork( "Sissi", "Sissi", remoteTypeId ) ); works.add( new DeleteLuceneWork( new URL( "http://emmanuelbernard.com" ), "http://emmanuelbernard.com", remoteTypeId ) ); Document doc = buildDocumentWithNumericFields(); Map<String, String> analyzers = new HashMap<String, String>(); analyzers.put( "godo", "ngram" ); works.add( new AddLuceneWork( 123, "123", remoteTypeId, doc, analyzers ) ); doc = buildDocumentWithMultipleMixedTypeFields(); works.add( new UpdateLuceneWork( 1234, "1234", remoteTypeId, doc ) ); works.add( new AddLuceneWork( 125, "125", remoteTypeId, new Document() ) ); return works; }
doc.add( field ); works.add( new UpdateLuceneWork( 1234, "1234", remoteTypeId, doc ) ); works.add( new AddLuceneWork( 125, "125", remoteTypeId, new Document() ) ); return works;