Phrase matching in documents having nested-structure arbitrary (document-specific) markup
View Patent ↗A method of searching a document having nested-structure document-specific markup (such as Extensible Markup Language (XML)) involves 112 receiving a query that designates at least (A) a phrase to be matched in a phrase matching process, and (B) a selective designation of at least a tag or annotation that is to be ignored during the phrase matching process. The method further involves 114 deriving query-specific indices based on query-independent indices that were created specific to each document, and 116 carrying out the phrase matching process using the query-specific indices on the document having the nested-structure document-specific markup.
1. A method of searching a document having nested-structure document-specific markup, comprising:
receiving, by a processor, a query that designates a phrase to be matched in a phrase matching process;
deriving, by the processor, query-specific indices based on query-independent indices that were created specific to the document, wherein the query-independent indices were created comprising forming the query-independent indices by first receiving,
for a word in the document, a first position in the document, and then by indicating whether or not the word is present at that first position, and
for a tag in the document, a second position in the document, and then by indicating whether or not the tag is present at that second position; and
performing, by the processor, the phrase matching process using the query-specific indices on the document having the nested-structure document-specific markup,
wherein the query-independent indices were created further comprising:
labeling elements in the document with intervals, wherein:
for markup tags, the intervals are defined in terms of a starting index number associated with an opening markup tag and an ending index number associated with a closing markup tag that corresponds to the opening markup tag, and
for a single word, the intervals are defined in terms of a single index number associated with the single word.
2. The method of claim 1 , wherein the deriving the query-specific indices involves deriving the query-specific indices from the query-independent indices without rebuilding any of the query-independent indices.
3. The method of claim 1 , wherein the query further designates:
a set of context tags defining a context to which the phrase match is be restricted.
4. The method of claim 1 , wherein:
the nested-structure document-specific markup of the document is in extensible markup language.
5. The method of claim 1 , wherein:
the receiving comprises receiving the query that designates a phrase to be proximity-matched in the phrase matching process; and
the phrase matching process involves proximity phrase matching as distinguished from exact phrase matching.
6. A method of creating query-independent indices for use in searching a document having nested-structure document-specific markup, comprising:
labeling, by a processor, elements in the document with intervals, wherein:
for markup tags, the intervals are defined in terms of a starting index number associated with an opening markup tag and an ending index number associated with a closing markup tag that corresponds to the opening markup tag, and
for a single word, the intervals are defined in terms of a single index number associated with the single word; and
forming, by the processor, the query-independent indices by first receiving,
for a word in the document, a first position in the document, and then by indicating whether or not the word is present at that first position, and
for a tag in the document, a second position in the document, and then by indicating whether or not the tag is present at that second position.
7. The method of claim 6 , wherein:
the nested-structure document-specific markup of the document is in extensible markup language.
8. A non-transitory computer readable medium storing a plurality of instructions which, when executed by a processor, cause the processor to perform operations of searching a document having nested-structure document-specific markup, the operations comprising:
receiving a query that designates a phrase to be matched in a phrase matching process;
deriving query-specific indices based on query-independent indices that were created specific to the document, wherein the query-independent indices were created comprising forming the query-independent indices by first receiving,
for a word in the document, a first position in the document, and then by indicating whether or not the word is present at that first position, and
for a tag in the document, a second position in the document, and then by indicating whether or not the tag is present at that second position; and
carrying-out performing the phrase matching process using the query-specific indices on the document having the nested-structure document-specific markup,
wherein the query-independent indices were created further comprising:
labeling elements in the document with intervals, wherein:
for markup tags, the intervals are defined in terms of a starting index number associated with an opening markup tag and an ending index number associated with a closing markup tag that corresponds to the opening markup tag, and
for a single word, the intervals are defined in terms of a single index number associated with the single word.
9. The non-transitory computer readable medium of claim 8 , wherein the deriving the query-specific indices involves deriving the query-specific indices from the query-independent indices without rebuilding any of the query-independent indices.
10. The non-transitory computer readable medium of claim 8 , wherein the query further designates:
a set of context tags defining a context to which the phrase match is be restricted.
11. The non-transitory computer readable medium of claim 8 , wherein:
the nested-structure document-specific markup of the document is in extensible markup language.
12. The non-transitory computer readable medium of claim 8 , wherein:
the receiving comprises receiving the query that designates a phrase to be proximity-matched in the phrase matching process; and
the phrase matching process involves proximity phrase matching as distinguished from exact phrase matching.
13. A non-transitory computer readable medium storing a plurality of instructions which, when executed by a processor, cause the processor to perform operations of creating query-independent indices suitable for use in searching a document having nested-structure document-specific markup, the operations comprising:
labeling elements in the document with intervals, wherein:
for markup tags, the intervals are defined in terms of a starting index number associated with an opening markup tag and an ending index number associated with a closing markup tag that corresponds to the opening markup tag, and
for a single word, the intervals are defined in terms of a single index number associated with the single word; and
forming the query-independent indices by first receiving,
for a word in the document, a position in the document, and then by indicating whether or not the word is present at that position, and
for a tag in the document, a position in the document, and then by indicating whether or not the tag is present at that position.
14. The non-transitory computer readable medium of claim 13 , wherein:
the nested-structure document-specific markup of the document is in extensible markup language.
15. A system for searching a document having nested-structure document-specific markup, comprising:
a processor; and
a computer readable medium storing a plurality of instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising:
receiving a query that designates a phrase to be matched in a phrase matching process;
deriving query-specific indices based on query-independent indices that were created specific to the document, wherein the query-independent indices were created by forming the query-independent indices by first receiving,
for a word in the document, a first position in the document, and then by indicating whether or not the word is present at that first position, and
for a tag in the document, a second position in the document, and then by indicating whether or not the tag is present at that second position; and
performing the phrase matching process using the query-specific indices on the document having the nested-structure document-specific markup,
wherein the query-independent indices were created further comprising:
labeling elements in the document with intervals, wherein:
for markup tags, the intervals are defined in terms of a starting index number associated with an opening markup tag and an ending index number associated with a closing markup tag that corresponds to the opening markup tag, and
for a single word, the intervals are defined in terms of a single index number associated with the single word.
16. The system of claim 15 , wherein the deriving the query-specific indices involves deriving the query-specific indices from the query-independent indices without rebuilding any of the query-independent indices.
17. A system for creating query-independent indices suitable for use in searching a document having nested-structure document-specific markup, comprising:
a processor; and
a computer readable medium storing a plurality of instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising:
labeling elements in the document with intervals, wherein:
for markup tags, the intervals are defined in terms of a starting index number associated with an opening markup tag and an ending index number associated with a closing markup tag that corresponds to the opening markup tag, and
for a single word, the intervals are defined in terms of a single index number associated with the single word; and
forming the query-independent indices by first receiving,
for a word in the document, a first position in the document, and then by indicating whether or not the word is present at that first position, and
for a tag in the document, a second position in the document, and then by indicating whether or not the tag is present at that second position.