Docubase indexing, searching and data retrieval
First Claim
1. A method of searching a docubase, the docubase comprising a document-based database including a plurality of documents and having records stored on a machine-readable medium, each of the records comprising one or more of the plurality of documents not required to be stored in database tables, comprising:
- receiving a search query comprising search criteria of the docubase;
identifying an index file to search in response to the search query, said index file comprising a header having a plurality of header entries and a body having a plurality of body entries, at least one of the plurality of header entries having a header-to-body pointer associated therewith that points to a corresponding one of the plurality of body entries, at least one of the plurality of body entries having a body-to-record pointer associated therewith that points to one of the records;
identifying one of the plurality of header entries corresponding to the search criteria;
identifying the header-to-body pointer associated with the identified header entry;
accessing the body entry pointed to by the identified header-to-body pointer, said accessed body entry being the first in a set of body entries related to the identified header-to-body pointer;
identifying the body entries within the set which have associated therewith body-to-record pointers pointing to records satisfying the search criteria; and
accessing the records satisfying the search criteria.
8 Assignments
0 Petitions
Accused Products
Abstract
Data storage and retrieval methods are described in which data is stored in records within a docubase, and desired records are identified and/or selected by searching index files which map search criteria into appropriate records. Each index file includes a header with header entries and a body with body entries. Each header entry comprises a header-to-body pointer which points to a location in the body of the same index file which is the starting point of the body entries related to the header-to-body pointer pointing thereto. The body entries in turn comprise body-to-record-pointers which point to the records within the docubase satisfying the search criteria. Alternatively, the body entries may comprise body-to-body pointers which point to body entries in a second index file, which in turn point to the records within the docubase satisfying the search criteria. The records are stored in HTML format.
40 Citations
28 Claims
-
1. A method of searching a docubase, the docubase comprising a document-based database including a plurality of documents and having records stored on a machine-readable medium, each of the records comprising one or more of the plurality of documents not required to be stored in database tables, comprising:
-
receiving a search query comprising search criteria of the docubase;
identifying an index file to search in response to the search query, said index file comprising a header having a plurality of header entries and a body having a plurality of body entries, at least one of the plurality of header entries having a header-to-body pointer associated therewith that points to a corresponding one of the plurality of body entries, at least one of the plurality of body entries having a body-to-record pointer associated therewith that points to one of the records;
identifying one of the plurality of header entries corresponding to the search criteria;
identifying the header-to-body pointer associated with the identified header entry;
accessing the body entry pointed to by the identified header-to-body pointer, said accessed body entry being the first in a set of body entries related to the identified header-to-body pointer;
identifying the body entries within the set which have associated therewith body-to-record pointers pointing to records satisfying the search criteria; and
accessing the records satisfying the search criteria. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of searching a docubase comprising a document-based database, the docubase having records stored on a machine-readable medium, the records comprising a plurality of documents not required to be stored in database tables, comprising:
-
receiving a search query comprising search criteria of the docubase;
identifying a pair of index files to search in response to the search query, said pair including a first index file comprising a first header and a first body, and a second index file comprising a second body, said first header having a plurality of first header entries each having a header-to-body pointer associated therewith that points to a corresponding one of a plurality of first body entries associated with the first body, the first body entries each having a body-to-body pointer associated therewith that points to a corresponding one of a plurality of second body entries associated with the second body, the second body entries each having a corresponding body-to-record pointer associated therewith, and a corresponding value associated with the corresponding body-to-record pointer, said body-to-record pointer pointing to a corresponding one of the records having the corresponding value associated therewith;
identifying one of the plurality of first header entries corresponding to the search criteria;
identifying the header-to-body pointer associated with the identified first header entry;
accessing the first body entry pointed to by the identified header-to-body pointer, said accessed first body entry being an initial first body entry in a set of first body entries related to the identified header-to-body pointer;
identifying the first body entry within the set of first body entries which has associated therewith a body-to-body pointer pointing to the second body entry having a body-to-record pointer pointing to a record satisfying the search criteria; and
accessing the record satisfying the search criteria. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A docubase comprising a document-based database including a plurality of documents, the docubase comprising:
-
a plurality of records stored in a machine-readable medium, each of the plurality of records comprising one or more of the plurality of documents not required to be stored in database tables, each of said plurality of records comprising a corresponding master document;
an index file comprising;
a header having a plurality of header entries and a body having a plurality of body entries, wherein at least one of the plurality of header entries has a header-to-body pointer associated therewith that points to a corresponding one of the plurality of body entries, at least one of the pointed to body entries is an initial body entry in a corresponding set of the body entries related to the header-to-body pointer pointing thereto, at least one of the plurality of body entries has a body-to-record pointer associated therewith that points to one of the plurality of records, at least one of the plurality of header entries further has a corresponding header identifier associated with a corresponding set of search criteria. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A docubase comprising a document-based database including a plurality of documents, the docubase comprising:
-
a plurality of records stored in a machine-readable medium, each of the plurality of records comprising one or more of the plurality of documents not required to be stored in database tables, each of said plurality of records comprising a corresponding master document;
a first index file comprising a first header having a plurality of first header entries, and a first body having a plurality of first body entries;
a second index file comprising a second body having a plurality of second body entries;
at least one of said first header entries has a header-to-body pointer associated therewith that points to a corresponding one of the plurality of first body entries, and a corresponding header identifier associated with a corresponding set of search criteria, at least one of said first body entries has a body-to-body pointer associated therewith that points to a corresponding one of the plurality of second body entries, at least one of said second body entries has a corresponding body-to-record pointer associated therewith, and a corresponding value associated with the corresponding body-to-record pointer, said body-to-record pointer pointing to a corresponding one of the records having the corresponding value associated therewith. - View Dependent Claims (17, 18, 19, 20)
-
-
21. In a docubase comprising a document-based database including a set of indexed records, the set of indexed records comprising a plurality of documents stored in a file system, the documents not required to be stored in database tables, a computer-based method for searching the set of indexed records according to a search query, the search query comprising one or more search criteria for which the search query specifies a value, the method comprising:
-
indexing a plurality of records comprising documents stored in a file system, one or more of the documents not comprising database tables, wherein the indexing identifies each of the plurality of records by its position, the position of a record being an integer value relating to the record'"'"'s logical position in the file system, and wherein the indexing indicates the value of one or more search criteria for the plurality of records;
for each search criterion of the search query, composing an intermediate list of positions, wherein each position in the intermediate list relates to a record having the value for the search criterion specified in the search query; and
performing a logical operation between or among the intermediate lists to compose a final list, if more than one intermediate list exists, wherein the final list is a list of records that satisfy the search query. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A docubase for performing a query of indexed records according to a search query, the docubase comprising a document-based database comprising documents not required to be stored in database tables, the search query specifying one or more search criteria for which to search, comprising:
-
a storage medium containing a plurality of records, the plurality of records comprising a plurality of documents stored in a file system, one or more of the documents not comprising database tables, wherein one or more of the records is assigned a value to one or more of the search criteria;
p an indexer that identifies the plurality of records by a position, the position of each record being a number that relates to the record'"'"'s logical position in the file system, wherein the indexer indicates a value for one or more of the search criteria for one or more of the records;
a fist processor that generates an intermediate list for each search criterion, wherein each intermediate list contains each of the records that conforms to the corresponding search criterion; and
a second processor that generates a final list from the one or more intermediate lists, wherein the final list contains each of the records that conforms to the search query. - View Dependent Claims (27, 28)
-
Specification