Author: Craig Stancl, Scott Bauer, Cory Endle
Email: Stancl.craig@mayo.edu, bauer.scott@mayo.edu, endle.cory@mayo.edu
Team: LexEVS
Contract: S13-500 MOD4
Client: NCI CBIIT
National Institutes of Heath
US Department of Health and Human Services
The purpose of this document is to collect, analyze, and define high-level needs for and designed features of the National Cancer Institute Center for Biomedical Informatics and Information Technology (NCI CBIIT) LexEVS Release 6.4.
The focus is on the functionalities proposed by the stakeholders and target users to make a better product.
Design Scope
The LexEVS 6.4 Scope Document can be found here: LexEVS 6.4 Scope Document
Requirements
The LexEVS 6.4 Requirements Document can be found here: LexEVS 6.4 Requirements Definition Document
Detailed Design
The following sections specify how the design will satisfy the requirements for the Lucene search upgrade. This design reflects the wide ranging changes that will be necessary to LexEVS to fully update over three full releases of Lucene. Since Lucene is the heart of the search mechanism that powers efficient searches in LexEVS these changes are necessarily extensive. The focus of these changes can be broken down, to some extent, into three areas.
- Code decoupling from the current Lucene to allow for easier updates to the underlying search implementation.
- Multi-index searches to replace single index searches. This will allow easier maintenance than the large, monolithic index we currently use.
- Using the built in relational index structures of the latest Lucene release to replace the hand built version of this in the current LexEVS implementation.
- Code refactoring to the latest Lucene code base. This requires extensive changes to the code base including replacement of objects with similar behavior for the current code base and adjusting to changes in the Lucene API. This also includes reimplementing a number of customized Lucene analyzers and HitCollectors to insure compatibility with current code unit tests and user expectations.
Some classes are called out to indicate the extent of the changes and to document some of the details of intended adjustments.
Code Decoupling
Multi-Index Searches
LexEVS Multi-index Lucene Implementation
Changing the Relational Representation in Lucene
LexEVS Lucene Relational Representation
Per-segment Search
LexEVS Per-segment Search Implementation
General Code Refactoring
Relevant JIRA Items
Detailed Design - Provide the architecture and design for the new Lucene feature.
LEXEVS-724 - Getting issue details... STATUS
The following JIRA items are all part of LEXEVS-724.
LEXEVS-813 - Getting issue details... STATUS
LEXEVS-814 - Getting issue details... STATUS
LEXEVS-815 - Getting issue details... STATUS
LEXEVS-816 - Getting issue details... STATUS
LEXEVS-817 - Getting issue details... STATUS
LEXEVS-818 - Getting issue details... STATUS
LEXEVS-819 - Getting issue details... STATUS
LEXEVS-820 - Getting issue details... STATUS
LEXEVS-821 - Getting issue details... STATUS
LEXEVS-822 - Getting issue details... STATUS
LEXEVS-823 - Getting issue details... STATUS
LEXEVS-824 - Getting issue details... STATUS
LEXEVS-825 - Getting issue details... STATUS
Please view the detailed design: LexEVS 6.2 Design Document - Detailed Design - Make it easy to do retrieval of only active concepts in a terminology through the/ a service