1. A method implemented by an information handling system that includes a memory and a processor, the method comprising: generating a plurality of term tokens from a plurality of terms that are located at a plurality of term locations in an original text stream; generating a plurality of annotation tokens from a plurality of annotations corresponding to the plurality of terms, wherein each of the plurality of annotation tokens includes term location information based on one or more of the plurality of term locations of its corresponding one or more of the plurality of terms; generating a knowledge structure that stores the plurality of term tokens in a plurality of original text fields and stores the plurality of annotation tokens in a plurality of parallel fields, wherein each of the plurality of annotation tokens align to at least one of the plurality of original text fields based upon its corresponding term location information; receiving a search request that comprises a set of query terms, a set of query annotation types, and a relative annotation position parameter; creating a plurality of sub queries based on the set of query terms and the set of query annotation types; searching the knowledge structure using the plurality of sub queries, resulting in one or more term token matches and one or more annotation token matches; and generating search results based upon the one or more term token matches and the one or more annotation token matches, wherein the generation of the search results further comprises: determining that a first one of the plurality of annotation tokens corresponds to one of the plurality of sub queries; identifying a position increment value corresponding to the first annotation token, wherein the position increment value indicates a relative position of the first annotation token to a second annotation token; and including the first annotation token in the search results in response to determining that the position increment value adheres to the relative annotation position parameter.