×

Keyword Searching On Database Views

  • US 20100299367A1
  • Filed: 05/20/2009
  • Published: 11/25/2010
  • Est. Priority Date: 05/20/2009
  • Status: Abandoned Application
First Claim
Patent Images

1. Computer readable storage media having computer readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:

  • receiving a Boolean keyword search query for searching a view of a database, wherein the view is a virtual table that is not materialized that is generated by virtually joining one or more base relations stored in the database, wherein the view includes one or more text columns such that each text column is contained in a base relation of the view, wherein the keyword search query comprises a plurality of keywords connected by one or more Boolean operators;

    executing a keyword search on each of the multiple text columns, wherein the executing the keyword search on each of the multiple text columns is based on the keyword query;

    returning one or more highest scoring view tuples whose text column values together satisfy the Boolean expression on the keywords, wherein a relevancy score determined for each view tuple is based at least in part on a composition of keyword search scores of the text column values;

    outputting results of the keyword search on each of the text columns, wherein the results include, for each base tuple, a tuple identifier, the relevancy score and a bit vector, wherein the bit vector is representative of which keywords from the query were located in the searched text column, wherein the bit vector for each result has a number of bit locations equal to a number and order of keywords contained in the keyword query;

    storing the output results of the keyword search for each of the text columns in a plurality of buckets defined according to the bit vectors for each text column so that the output results are ordered according to the buckets;

    identifying, for each bucket, a highest relevancy score from among the results stored in each bucket;

    scheduling one or more buckets for processing by selecting buckets having a tuple with a highest relevancy score first in order to identify tuples most relevant to the keyword query as quickly as possible;

    translating base tuples in the bucket being processed to determine corresponding view tuples in which the base tuples participate;

    determining relevancy scores of those corresponding view tuples;

    computing the bit vector of each view tuple from the bit vectors of the keyword search results for each text column;

    filtering out view tuples that do not satisfy the Boolean expression on the keywords;

    andterminating processing of the buckets prior to processing all the buckets, and returning one or more view tuples in response to the keyword query when a total relevancy score of one or more view tuples in one or more processed buckets is determined to be greater than a possible maximum relevancy score of view tuples corresponding to buckets yet to be processed.

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