IP Library Granted Patent US 9,405,794
Granted Patent B2
US 9,405,794 · App. 13/944,491 · Granted Aug 2, 2016

Information retrieval system

Inventors: Amit Prakash (Redwood City, CA); Ajeet Singh (Redwood City, CA); Priyendra Singh Deshwal (Redwood City, CA); Joy Dutta (Redwood City, CA); Shashank Gupta (Redwood City, CA); Vijay Krishnan Ganesan (Redwood City, CA); Abhishek Rai (Redwood City, CA); Sanjay Agrawal (Redwood City, CA); Vibhor Nanavati (Redwood City, CA); Stephane Antonin Kiss (Redwood City, CA)
Assignee: THOUGHTSPOT, INC.
G06F17/30401G06F17/3053G06F17/30864
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,405,794
App. No.
13/944,491
Granted
Aug 2, 2016
Kind
B2
Abstract

An information retrieval system converts unstructured ad-hoc search queries into structured search instructions that retrieve data in a structured relational database or an unstructured database. Data from the database is uploaded into a distributed in-memory database system. Tokens are automatically generated based on attributes, measures, and other metadata extracted from the relational database. The tokens are then compared with the non-structured ad-hoc user search queries. The information retrieval system uses the tokens to identify or predict what structured data is associated with user search queries. The tokens guide the user through a set of search terms that the system then uses to generate the structured query instructions. The structured query instructions retrieve specific data and answers from in the database system.

Claims (91)

1. A method, comprising:

identifying, by a computing device, characteristics of a relational database;

generating, by the computing device, tokens from the characteristics of the relational database;

receiving, by the computing device, a search request containing a search term entered into a field of a user interface;

identifying, by the computing device, a set of the tokens associated with the search term;

automatically generating, by the computing device, a structured query based on the set of the tokens associated with the search term;

using, by the computing device, the structured query to retrieve data in the relational database;

classifying the tokens as non-numeric attributes and numeric measures;

identifying a first one of the tokens associated with the search term;

identifying the first one of the tokens as one of the non-numeric attributes;

identifying a first table associated with the first one of the tokens containing the non-numeric attributes;

searching for a second table linked to the first table containing numeric measures;

displaying a second one of the tokens associated with the second table; and

displaying the numeric measures from the second table in response to identifying the first one of the tokens as one of the non-numeric attributes.

2. The method of claim 1 , further comprising:

identifying a first partial set of characters for the search term;

identifying the tokens associated with the first partial set of characters; and

displaying the tokens associated with the first partial set of characters.

3. The method of claim 2 , further comprising generating the structured query based on the tokens associated with the first partial set of characters.

4. The method of claim 3 , further comprising:

identifying a second partial set of characters for the search term;

identifying the e tokens associated with the second partial set of characters;

displaying the tokens associated with the second partial set of characters;

generating an additional structured query based on the tokens associated with the second partial set of characters; and

displaying data retrieved from the relational database based on the additional structured query.

5. The method of claim 1 , further comprising:

identifying tables associated with the tokens;

identifying dimensions of the tables;

ranking the tokens based on the dimensions of the associated tables; and

displaying the tokens based on the ranking.

6. The method of claim 5 , further comprising ranking the tokens based on the dimensions and usage of the tables associated with the tokens.

7. The method of claim 6 , further comprising:

ranking the tokens associated with the tables having smaller dimensions higher than the tokens associated with the tables having larger dimensions, and

ranking the tokens associated with the tables having high usage higher than the tokens associated with the tables having low usage.

8. The method of claim 1 , further comprising:

receiving a portion of the search request as an unstructured input;

comparing the portion of the search request with the tokens; and

suggesting some of the tokens for replacing the portion of the search request.

9. The method of claim 8 , further comprising:

detecting selection of one of the tokens;

replacing the portion of the search request with the selected one of the tokens; and

generating the structured query based on the selected one of the tokens.

10. A database system, comprising:

a computing device configured to:

identify content in the database system;

generate tokens based on the content in the database system;

use the tokens to associate unstructured user inputs with the content in the database system,

operate a search engine configured to generate search objects based on the tokens associated with the user inputs; and

operate a business intelligence server configured to generate structured search instructions in response to the search objects for retrieving portions of the content from the database system, wherein the database system comprises multiple database processes configured to:

process the structured search instructions for different portions of the content;

join columns of the content based on the structured search instructions;

conduct operations on the content in the joined columns based on the structured search instructions;

send results for the operations to the business intelligence server; and,

cache the joined columns.

11. The database system of claim 10 , wherein the computing device is further configured to use the tokens to predict which columns of the database system are associated with the user inputs.

12. The database system of claim 10 , wherein the computing device is further configured to:

identify the tokens associated with the user inputs;

rank the tokens based on usage and dimensions of the content associated with the tokens.

13. The database system of claim 10 , wherein the computing device is further configured to:

form a structured query from the structured search instructions;

send the structured query to the database system;

receive the content back from the database system in response to the structured query;

identify dimensions of columns containing the content; and

display the content in different formats based on the dimensions of the columns.

14. The database system of claim 13 , wherein the computing device is further configured to:

identify different categories of the content contained in the columns; and

generate filters for refining the structured search query based on the different categories.

15. The database system of claim 13 , wherein the computing device is further configured to:

generate a ranking for the content based on the dimensions of the columns and usage of the columns; and

display the data based on the ranking.

16. A computer-implemented method for retrieving data, the method comprising: at least one processor

receiving an ad-hoc based search request;

generating words identifying contents of tables in a relational database;

identifying the words matching the search request;

identifying the contents in the relational database associated with the words matching the search request;

automatically generating a structured search query to retrieve the identified contents from the tables;

classifying the words as related to non-numeric attributes or numeric measures;

identifying a first one of the words associated with the search request;

identifying the first one of the words as one of the non-numeric attributes;

identifying a first one of the tables associated with the first one of the words containing the non-numeric attributes;

searching for a second one of the tables linked to the first table containing numeric measures;

displaying a second one of the words associated with the second one of the tables; and

displaying the numeric measures from the second one of the tables.

17. The computer-implemented method of claim 16 , further comprising:

receiving a partial set of characters from the search request;

predicting the words associated with the search request based a comparison of letters in the words with the partial set of characters and further based on the attributes or measures associated with the words; and

displaying the words predicted as associated with the search request.

18. The computer-implemented method of claim 17 , further comprising:

generating a query object based on the words predicted as associated with the search request;

translating the query object into a preliminary structured search query; and

displaying the contents in the relational database retrieved in response to the preliminary structured search query.

Assignments (3)
SECURITY INTEREST Recorded Mar 7, 2025
From: THOUGHTSPOT, INC.; THOUGHTSPOT, LLC
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 070442/0499 →
CHANGE OF NAME Recorded Apr 30, 2014
From: SCALIGENT, INC.
To: THOUGHTSPOT, INC.
Reel/Frame 032795/0573 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2013
From: PRAKASH, AMIT; SINGH, AJEET; DESHWAL, PRIYENDRA SINGH; DUTTA, JOY; GUPTA, SHASHANK; GANESAN, VIJAY KRISHNAN; RAI, ABHISHEK; AGRAWAL, SANJAY; NANAVATI, VIBHOR; KISS, STEPHANE ANTONIN
To: SCALIGENT INC.
Reel/Frame 030818/0871 →
Continuity (1)
Related Publication 20150026145A1 · Jan 22, 2015