NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Scrollbar
iconsfalse
Panel
titleDocument Information

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

Panel
titleColorblack
titleTable of Contents
borderStylesolid

Table of Contents

...

All Documents have a unique document Id that identifies them as "the same" entity, but the boundary docs provide additional evidence that they are the start and finish of a set of documents all related to the same concept by providing a "CodeBoundary" identifier indicating this is the start or end of the document set for this entity representation.  This effectively flattens the entity to properties relationship by adding all entity information to each property document which includes up to 34 indexed fields and about 9 stored fields.

 

Proposed Relational Indexing Implementation under Lucene 5.0.0

...

A query is constructed to provide a wrapper to queries to the children of the parent document returning all matching document contained in the parent.  Filters on the parent, such as whether it is active or not work against the entity metadata contained there.  A collector verifies and provides sorting support for the result (formerly HitCollector)

 

The Relational Property Querying Mechanism Problem in Lucene

Add Page
nameLexEVS Lucene Relational Query Implementation
linkTextLexEVS Lucene Relational Query Implementation
typepage

Boundary Docs Index Related Classes

...

Code Block
languagejava
titleQuery Related Classes
//This listing shows the hierarchy of methods when called by CodedNodeSetImpl through
//AbstractMultiSingleLuceneIndexCodedNodeSet but represents one of several code paths to CodedNodeSetImpl
org.lexevs.dao.index.lucenesupport.BaseLuceneIndexTemplate.search(Query, Filter, HitCollector)
org.lexevs.dao.index.lucene.v2010.entity.SingleTemplateDisposableLuceneCommonEntityDao.query(Query)
org.lexevs.dao.index.service.entity.LuceneEntityIndexService.queryCommonIndex(List<AbsoluteCodingSchemeVersionReference>, Query)
org.LexGrid.LexBIG.Impl.helpers.lazyloading.AbstractLazyCodeHolderFactory.buildCodeHolder(List<AbsoluteCodingSchemeVersionReference>, Query)
org.LexGrid.LexBIG.Impl.codednodeset.UnionSingleLuceneIndexCodedNodeSet.buildCodeHolder()
org.LexGrid.LexBIG.Impl.codednodeset.AbstractMultiSingleLuceneIndexCodedNodeSet.toBruteForceMode(String, String)
org.LexGrid.LexBIG.Impl.CodedNodeSetImpl.getCodeHolder()

//Other code paths reach into the Simple Search Extension.  Portions of this will go away
org.lexevs.dao.index.lucenesupport.BaseLuceneIndexTemplate.search(Query, Filter, HitCollector)
org.lexevs.dao.index.lucene.v2013.search.LuceneSearchDao.query(Query)
org.lexevs.dao.index.service.search.LuceneSearchIndexService.query(Set<AbsoluteCodingSchemeVersionReference>, Set<AbsoluteCodingSchemeVersionReference>, Query)
org.LexGrid.LexBIG.Impl.Extensions.GenericExtensions.search.SearchExtensionImpl.search(String, Set<CodingSchemeReference>, Set<CodingSchemeReference>, MatchAlgorithm, boolean, boolean)