Efficient storage and search of word lists and other text
AssigneeTegic Communications, Inc.
InventorsErland UNRUH, David Jon KAY
Life of this patent
Estimating the term…
Abstract
A computer readable storage medium tangibly embodying machine-readable digital data arranged to facilitate expedited searching. The data includes a plurality of words residing in a table having rows and columns, each word residing in a different row and each letter of the word occupying a different column in that row. Each continuous run of same letters in a column forms an interval. The words are positioned relative to each other to maximize lengths of the intervals, and/or optimize efficiency of compression of the columns by run length encoding.
Claims8
A computer-implemented method for searching a collection of machine-readable digital data, the method comprising:
- a computer receiving a given search word;
- the computer evaluating the search word against some or all words in a table, said table having rows and columns, each word residing in a different row and each letter of the word occupying a different column in that row, where the words are stored so as to preserve order of the letters within the words, and where each contiguous run of same letters in a column forms an interval, and such that the lengths of the intervals are maximized to facilitate data searching, the evaluating operation comprising:
- for each target word in the table to which the search word is being evaluated, comparing, one letter at a time, letters of the search word to corresponding letters of the target word as represented by the columns in the table;
- upon completing the evaluating operation without finding a successful match, providing an output representing a failed match.
An article of manufacture, comprising:
- a computer readable storage medium tangibly embodying one or more of the following:
- (1) a first program of machine-readable instructions executable by a digital processing apparatus to perform operations of searching a collection of machine-readable digital data, (2) a second program of machine-readable instructions executable by a digital processing apparatus to perform installation of the first program;
- where said operations comprise:
- receiving a given search word;
- evaluating the search word against some or all words in a table, said table having rows and columns, each word residing in a different row and each letter of the word occupying a different column in that row, where the words are stored so as to preserve order of the letters within the words, and where each contiguous run of same letters in a column forms an interval, and such that lengths of the intervals are maximized to facilitate data searching, the evaluating operation comprising:
- for each target word in the table to which the search word is being evaluated, comparing, one letter at a time, letters of the search word to corresponding letters of the target word as represented by the columns in the table;
- upon completing the evaluating operation without finding a successful match, providing an output representing a failed match.
An apparatus, comprising:
- circuitry of multiple interconnected electrically conductive elements configured to perform operations of searching a collection of machine-readable digital data;
- where said operations comprise:
- receiving a given search word;
- evaluating the search word against some or all words in a table, said table having rows and columns, each word residing in a different row and each letter of the word occupying a different column in that row, where the words are stored so as to preserve order of the letters within the words, and where each contiguous run of same letters in a column forms an interval, and such that lengths of the intervals are maximized to facilitate data searching, the evaluating operation comprising:
- for each target word in the table to which the search word is being evaluated, comparing, one letter at a time, letters of the search word to corresponding letters of the target word as represented by the columns in the table;
- upon completing the evaluating operation without finding a successful match, providing an output representing a failed match.
A data processing apparatus, comprising:
- a collection of machine-readable digital data including a plurality of words residing in a table having rows and columns, each word residing in a different row and each letter of the word occupying a different column in that row, where the words are stored so as to preserve order of the letters within the words, and where each contiguous run of same letters in a column forms an interval, and such that lengths of the intervals are maximized to facilitate data searching;
- a manager programmed to search the table by performing operations comprising:
- receiving a given search word;
- evaluating the search word against some or all words in the table, comprising operations of:
- for each target word in the table to which the search word is being evaluated, comparing, one letter at a time, letters of the search word to corresponding letters of the target word as represented by the columns in the table;
- upon completing the evaluating operation without finding a successful match, providing an output representing a failed match.
Dependencies are inferred from the claim text.