IP Library › Granted Patent US 10,474,719
Granted Patent B2
US 10,474,719 · App. 15/176,393 · Granted Nov 12, 2019

Auto-completion of widely shared search queries

Inventors: Costa Touma (Haifa, IL); Boaz Brickner (Qiryat Tivon, IL); Alvertos Dayid Angel (Zurich, CH); Mate Szalay (Zollikerberg, CH); Ari Shotland (Haifa, IL)
Assignee: Google LLC
G06F16/90324G06F16/2423G06F16/3322G06F16/9535
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 10,474,719
App. No.
15/176,393
Filed
Jun 8, 2016
Granted
Nov 12, 2019
Kind
B2
Art Unit
2158
USPC
707/767
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage medium, for facilitating auto-completion of search queries in a group based document sharing environment. In one aspect, a method includes actions of maintaining a prefix index that includes prefix index entries. Each prefix index entry may include a prefix, a group identifier, and a portion of a document. Additional actions may include receiving input from a user that is associated with a search field, determining a user identifier associated with the user that submitted the received input, mapping the user identifier to a particular group identifier, obtaining one or multiple candidate query suggestions based on the received input and the prefix index, and selecting a subset of the candidate query suggestions based on the particular group identifier. Other actions may include providing the subset of candidate query suggestions to the user.

Claims (81)

1. A method comprising:

maintaining a prefix index that includes a plurality of prefix index entries, wherein each prefix index entry includes a prefix, a group identifier that identifies a group of users that have access to a particular one of the documents, and a portion of the particular document extracted from the particular document and that begins with the prefix, and associates the prefix with the group identifier, and associates the portion of the particular document with the prefix and the group identifier;

receiving input from a user that is associated with a search field;

determining a user identifier associated with the user that submitted the received input;

mapping the user identifier to a particular group identifier that is associated with the user;

obtaining multiple candidate query suggestions based on the received input and the prefix index by identifying a subset of prefix index entries having a prefix that corresponds to the received input, each candidate query suggestion being the portion of the particular document for a prefix index entry of the subset of prefix index entries;

selecting a subset of the candidate query suggestions based on the particular group identifier that is associated with the user, the selection comprising including in the subset candidate query suggestion that are associated with the particular group identifier that is associated with the user, and excluding from the subset candidate query suggestion that are not associated with the particular group identifier that is associated with the user; and

providing the subset of candidate query suggestions to the user as suggested queries.

2. The method of claim 1 , wherein the input from the user that is associated with the search field includes a zero character input.

3. The method of claim 1 , wherein the input from the user that is associated with the search field includes a single character.

4. The method of claim 1 , the method further comprising:

receiving two or more inputs from the user that are associated with the search field; and

for each received input from the user:

determining a user identifier associated with the user that submitted the received input;

mapping the user identifier to a particular group identifier that is associated with the user;

obtaining one or multiple candidate query suggestions based on the received input and the prefix index;

selecting a subset of the candidate query suggestions based on the particular group identifier that is associated with the user; and

providing the subset of candidate query suggestions to the user as suggested queries.

5. The method of claim 1 , wherein selecting a subset of candidate queries based on the group identifier includes:

determining a subset of prefix index entries that are associated with prefix that corresponds to the received input; and

for each prefix index entry:

determining whether the particular group identifier that is associated with the user corresponds to a group identifier associated with the prefix index entry; and

in response to a determination that the particular group identifier that is associated with the user corresponds to the group identifier associated with the prefix index entry, selecting the portion of the document that is associated with the prefix index entry for inclusion as a candidate query in the subset of candidate queries.

6. The method of claim 1 , further comprising:

generating a group score that is associated with each candidate query suggestion and unique to each particular group; and

ranking the suggested queries based on the group score.

7. The method of claim 1 ,

wherein the candidate query includes one or multiple words,

wherein the group score is based on the number of times the one or multiple words appear in documents associated with each respective group of users.

8. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

maintaining a prefix index that includes a plurality of prefix index entries, wherein each prefix index entry includes a prefix, a group identifier that identifies a group of users that have access to a particular one of the documents, and a portion of the particular document extracted from the particular document and that begins with the prefix, and associates the prefix with the group identifier, and associates the portion of the particular document with the prefix and the group identifier;

receiving input from a user that is associated with a search field;

determining a user identifier associated with the user that submitted the received input;

mapping the user identifier to a particular group identifier that is associated with the user;

obtaining multiple candidate query suggestions based on the received input and the prefix index by identifying a subset of prefix index entries having a prefix that corresponds to the received input, each candidate query suggestion being the portion of the particular document for a prefix index entry of the subset of prefix index entries;

selecting a subset of the candidate query suggestions based on the particular group identifier that is associated with the user, the selection comprising including in the subset candidate query suggestion that are associated with the particular group identifier that is associated with the user, and excluding from the subset candidate query suggestion that are not associated with the particular group identifier that is associated with the user; and

providing the subset of candidate query suggestions to the user as suggested queries.

9. The system of claim 8 , wherein the input from the user that is associated with the search field includes a zero character input.

10. The system of claim 8 , wherein the input from the user that is associated with the search field includes a single character.

11. The system of claim 8 , the operations further comprising:

receiving two or more inputs from the user that are associated with the search field; and

for each received input from the user:

determining a user identifier associated with the user that submitted the received input;

mapping the user identifier to a particular group identifier that is associated with the user;

obtaining one or multiple candidate query suggestions based on the received input and the prefix index;

selecting a subset of the candidate query suggestions based on the particular group identifier that is associated with the user; and

providing the subset of candidate query suggestions to the user as suggested queries.

12. The system of claim 8 , wherein selecting a subset of candidate queries based on the group identifier includes:

determining a subset of prefix index entries that are associated with prefix that corresponds to the received input; and

for each prefix index entry:

determining whether the particular group identifier that is associated with the user corresponds to a group identifier associated with the prefix index entry; and

in response to a determination that the particular group identifier that is associated with the user corresponds to the group identifier associated with the prefix index entry, selecting the portion of the document that is associated with the prefix index entry for inclusion as a candidate query in the subset of candidate queries.

13. The system of claim 8 , the operations further comprising:

generating a group score that is associated with each candidate query suggestion and unique to each particular group; and

ranking the suggested queries based on the group score,

wherein the candidate query includes one or multiple words,

wherein the group score is based on the number of times the one or multiple words appear in documents associated with each respective group of users.

14. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

maintaining a prefix index that includes a plurality of prefix index entries, wherein each prefix index entry includes a prefix, a group identifier that identifies a group of users that have access to a particular one of the documents, and a portion of the particular document extracted from the particular document and that begins with the prefix, and associates the prefix with the group identifier, and associates the portion of the particular document with the prefix and the group identifier;

receiving input from a user that is associated with a search field;

determining a user identifier associated with the user that submitted the received input;

mapping the user identifier to a particular group identifier that is associated with the user;

obtaining multiple candidate query suggestions based on the received input and the prefix index by identifying a subset of prefix index entries having a prefix that corresponds to the received input, each candidate query suggestion being the portion of the particular document for a prefix index entry of the subset of prefix index entries;

selecting a subset of the candidate query suggestions based on the particular group identifier that is associated with the user, the selection comprising including in the subset candidate query suggestion that are associated with the particular group identifier that is associated with the user, and excluding from the subset candidate query suggestion that are not associated with the particular group identifier that is associated with the user; and

providing the subset of candidate query suggestions to the user as suggested queries.

15. The computer-readable medium of claim 14 , wherein the input from the user that is associated with the search field includes a zero character input.

16. The computer-readable medium of claim 14 , wherein the input from the user that is associated with the search field includes a single character.

17. The computer-readable medium of claim 14 , the operations further comprising:

receiving two or more inputs from the user that are associated with the search field; and

for each received input from the user:

determining a user identifier associated with the user that submitted the received input;

mapping the user identifier to a particular group identifier that is associated with the user;

obtaining one or multiple candidate query suggestions based on the received input and the prefix index;

selecting a subset of the candidate query suggestions based on the particular group identifier that is associated with the user; and

providing the subset of candidate query suggestions to the user as suggested queries.

18. The computer-readable medium of claim 14 , wherein selecting a subset of candidate queries based on the group identifier includes:

determining a subset of prefix index entries that are associated with prefix that corresponds to the received input; and

for each prefix index entry:

determining whether the particular group identifier that is associated with the user corresponds to a group identifier associated with the prefix index entry; and

in response to a determination that the particular group identifier that is associated with the user corresponds to the group identifier associated with the prefix index entry, selecting the portion of the document that is associated with the prefix index entry for inclusion as a candidate query in the subset of candidate queries.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2016
From: TOUMA, COSTA; BRICKNER, BOAZ; ANGEL, ALVERTOS DAYID; SZALAY, MATE; SHOTLAND, ARI
To: GOOGLE INC.
Reel/Frame 038844/0240 →
Continuity (2)
Continuation PCTGR2015000066 · Dec 30, 2015
Related Publication 20170192991A1 · Jul 6, 2017
Cited By (1)
US 12,674,676