NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

With the advent of an index per code system design.  The metadata structure can go away.  In it's place a contextual file read of the names of the indexes with additional metadata persistence where necessary will replace the concurrent xml parsing.



The many dependencies on the metadata.xml file and it's accompanying MetaData class will have to be refactored to a new implementation.  All classes in the Indexer will be dropped or pulled into the dao project
Image Added
//Not really an interface, as a class it will need to be rethought, reimplemented to accommodate multi-index initialization.

...

//Along with the above a multi index implementation of this interface will have to be done:
//The pertinent implementation of this provides an in memory collection of objects consistent with the metadata elements
//Registration consists of updating this collection in conjunction with the metadata file.
org.lexevs.dao.index.indexregistry.IndexRegistry

...

org.lexevs.dao.index.indexer.EntityBatchingIndexCreator
//Index file creation factory.  Should be adapted for multiple indexes
org.lexevs.dao.index.lucenesupport.LuceneIndexMetadataFactory
//Creates and deletes indexes.  Managers readers and writers.  Adds and deletes at the document  level.   Gets searchers.  This lives in the //Indexer, if it’s on the code path it needs to be updated, otherwise it should be tossed out.  
edu.mayo.informatics.indexer.api.IndexerService
// This and its interface EntityIndexService may or should replace the IndexerService.  Needs closer examination.
org.lexevs.dao.index.service.entity.LuceneEntityIndexService
//Central manager for Search, Metadata, and Common indexes as well as the metadata.xml managing class
//Since this class uses some of the properties recorded for the index we will need to see what depends on these values
//and how they can be otherwise provided.  
org.lexevs.dao.index.access.IndexDaoManager
//Index CRUD service.  Cleanup methods serve to do some updates. 
//Depends on Dao, MetaData and Registry classes and contains some Lucene objects
org.lexevs.dao.index.operation.DefaultLexEvsIndexOperations
//Not really an interface, as a class it will need to be rethought, reimplemented to accommodate multi-index initialization.
org.lexevs.dao.index.connection.IndexInterface 
//This class attempts to manage index events concurrently and is highly dependent on the parsing of an XML file
edu.mayo.informatics.indexer.utility.MetaData
// Spring wired factory class that implements Spring FactoryBean to create singleton MetaData class
org.lexevs.dao.index.lucenesupport.LuceneIndexMetadataFactory
//Works largely at the entity level of creation and deletion but also can drop full indexes,
//as well as create them and query indexes it has created.
org.lexevs.dao.index.service.search.LuceneSearchIndexService

Changing the Relational Representation in Lucene

...