×

System, method and technique for searching structured databases

  • US 7,403,941 B2
  • Filed: 04/25/2005
  • Issued: 07/22/2008
  • Est. Priority Date: 04/23/2004
  • Status: Active Grant
First Claim
Patent Images

1. A method of searching a database comprising a plurality of records for at least one said record that at least approximately matches a search request, wherein data values in each of the records are organized in at least one field, the method including:

  • creating a first tree data structure having a root node and at least one child node, each said child node being associated with match data corresponding to a data value of a field of said database record, wherein leaf child nodes of the first tree data structure include a link to another tree data structure;

    creating at least one further tree data structure having a root node and at least one child node, each said child node being associated with match data corresponding to a data value of said database record, wherein leaf child nodes of the further tree data structure include a link to said database record;

    traversing the first tree data structure to find at least one path between its root node and at least one of its said leaf child nodes, each said path being associated with a score reflecting a level of matching between the search request and the match data of the nodes in the path;

    traversing at least one of the further tree data structures identified by the link of the leaf node of at least one said path, the traversal of the at least one further tree data structure finding at least one path between its root node and at least one of its said leaf child nodes, each said path being associated with a score reflecting a level of matching between the search request and the match data of the nodes in the path; and

    outputting data relating to said database record identified by the link of the leaf child node of the paths with the best scores;

    wherein the traversing of said tree data structure includes a node determination process, the node determination process including;

    checking the data content of a node of the tree data structure, andif the node contains data identifying another tree data structure, or group of nodes, then performing the traversal on that other tree data structure, orif the node does not contain data identifying another tree data structure then, for each child node of that node, computing a score based on a match between the search request and the match data associated with the child node.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×