发明名称 Systems and methods for searching multiple related tables
摘要 Methods and systems for performing a query over joined tables in the context of inexact matching provide efficient search engine functionality. The systems and methods are used to perform an efficient query on a parent table and joined child tables. Search grams are determined based on the query and parent records and child records are scanned for the search grams. Gram scores are computed based on a degree of matching between the parent and child records and the search grams.
申请公布号 US9607044(B2) 申请公布日期 2017.03.28
申请号 US201113077918 申请日期 2011.03.31
申请人 TIBCO Software Inc. 发明人 Foti Fletcher;Zuidema Bruce
分类号 G06F17/00;G06F17/30 主分类号 G06F17/00
代理机构 Baker & McKenzie LLP 代理人 Baker & McKenzie LLP
主权项 1. A method for performing an efficient query on a parent table and one or more joined child tables, the method comprising: determining one or more search grams based on the query, each of the one or more search grams being at least a portion of the query, wherein determining the one or more search grams comprises determining gram vectors for each search gram of the one or more search grams; identifying a parent table having one or more parent table partitions including one or more respective parent records grouped therein; identifying one or more child table partitions from one or more joined child tables, the one or more child table partitions including one or more respective child records grouped therein, wherein the identified one or more child table partitions are associated with a first of the one or more parent table partitions, and wherein the child records grouped within the identified one or more child table partitions are associated with the one or more parent records of the associated first of the one or more parent table partitions; scanning parent records in the first of the parent table partitions for the one or more search grams; scanning child records in the identified one or more child table partitions associated with the first of the parent table partitions for the one or more search grams; computing parent gram scores for scanned parent records based on a degree of matching with the one or more search grams; computing child gram scores for scanned child records based on a degree of matching with the one or more search grams, wherein gram vectors associated with a child table from the one or more joined child tables are sorted by a foreign key; computing aggregate scores for each parent record and its associated child records based on parent and child gram scores; repeating the identifying one or more child table partitions, scanning parent and child records, and computing parent and child gram scores and aggregate scores for each of the parent table partitions; generating a mapping structure having parent and child table partitions association information and parent and child records association information; referencing the mapping structure to determine associations between parent and child table partitions and between parent and child records; determining a new child record for inserting into a child table partition associated with a parent table partition having a parent record associated with the new child record; in response to determining an available row exists in the child table partition, inserting the new child record into the available row; in response to determining an available row does not exist in the child table partition, generating a new child table partition, associating the new child table partition with the parent table partition, and inserting the new child record into the new child table partition.
地址 Palo Alto CA US