Information retrieval system and method with implementation extensible query architecture
First Claim
1. A system for executing search queries on a database comprising a plurality of documents, each search query having a search query operator and at least one search data element, the system comprising:
- a search query manager that receives a search query including at least one search query operator and at least one search data element associated therewith to be operated on by the search query operator;
a storage structure that stores associations between search query operators and query node creators, each query node creator for creating a query node that executes a search query for a search query operator upon at least one search data element associated therewith, to identify a next document therein as a function of the search query operator and the at least one search data element of the search query, and returning an identifier of the document, and a score for the document;
a parser, coupled to the storage structure and further coupled to the search query manager for receiving therefrom the search query, the parser identifying each search query operator and search data element in the search query, and for each search query operator in the search query, identifying the query node creator associated with the search query operator and calling the associated query node creator to create a query node for the search query operator and the search data element associated therewith; and
a processor, coupled to the parser, and receiving therefrom a first query node, and executing the first query node.
9 Assignments
0 Petitions
Accused Products
Abstract
An information retrieval system incorporates an extensible query architecture allowing an applications programmer to integrate new query models into the system as desired. The query architecture is based on an abstract base class of query nodes, or code objects that retrieve records from the database. Specific subclasses for particular query models are derived from the base class. Each query node class includes a search function that iteratively searches the database for matching records. Query node objects are instantiated by associated node creator class objects. A parser is used to parse a search query into its components, including nested search queries used to combine various query models. The parser determines the particular search operator keywords, and the node creator object for instantiating the appropriate query node object for each search operator. The node creator objects return pointers to the created query nodes, allowing the parser to assemble complex hierarchical query nodes that combine multiple query models.
450 Citations
14 Claims
-
1. A system for executing search queries on a database comprising a plurality of documents, each search query having a search query operator and at least one search data element, the system comprising:
-
a search query manager that receives a search query including at least one search query operator and at least one search data element associated therewith to be operated on by the search query operator; a storage structure that stores associations between search query operators and query node creators, each query node creator for creating a query node that executes a search query for a search query operator upon at least one search data element associated therewith, to identify a next document therein as a function of the search query operator and the at least one search data element of the search query, and returning an identifier of the document, and a score for the document; a parser, coupled to the storage structure and further coupled to the search query manager for receiving therefrom the search query, the parser identifying each search query operator and search data element in the search query, and for each search query operator in the search query, identifying the query node creator associated with the search query operator and calling the associated query node creator to create a query node for the search query operator and the search data element associated therewith; and a processor, coupled to the parser, and receiving therefrom a first query node, and executing the first query node. - View Dependent Claims (2, 3, 4)
-
-
5. A computer implemented method of creating search queries for a database comprising a plurality of documents, the method comprising:
-
storing in a computer readable medium a plurality of query node creators, each query node creator capable of creating a query node that executes a search query to identify a next document in the database as a function of a search query operator upon at least one data element; storing in the computer readable medium a plurality of search operators, each search operator associated with a selected query node creator; receiving an input search query having a search query operator and at least one data element associated therewith; identifying each search query operator and associated data element in the search query; and for each search query operator in the search query; identifying the query node creator associated with the search query operator in the computer readable medium; and invoking the associated query node creator to create query node for the search query operator and the associated data element. - View Dependent Claims (6, 7, 8)
-
-
9. A computer implemented method of executing a search query including a search query operator associated with at least one search data element, on a database comprising a plurality of documents, each document having a document number, the method comprising:
-
receiving an input including a first document number, and a first document score; identifying a document having a second document number greater than the first document number and a non-zero second document score as a function of the search query operator and the at least one search data element; setting the first document number to the second document number; and setting the first document score to the second document score. - View Dependent Claims (10, 11)
-
-
12. An information retrieval system for searching and retrieving selected documents in a database of documents in response to a search query including at least one search query operator and at least one associated data element, each document having an identifier and a document score, the information retrieval system, comprising:
-
a) a query node base class including; i) a search data element member for storing at least one search data element; and
,ii) a search function member accepting an input including a first document number, the search member function executable by a processor for searching the database to retrieve a document having a second document number greater than the first document number, and a non-zero document score, and to return the non-zero document score and the second document number. b) at least one query node class derived from the query node base class; c) a query node creator baseclass including; a query data element member that stores at least one query data element including either a search data element or a subordinate query node;
the query node creator base class returning a query node having as a search data element the query data element in response to an invocation of a constructor function of the query node creator base class; andd) at least one query node creator class derived from the query node creator baseclass, each query node creator class associated with a selected search query operator. - View Dependent Claims (13, 14)
-
Specification