Methods and systems for efficient query rewriting
First Claim
Patent Images
1. A method comprising:
- populating a computer memory, by receiving a plurality of first search queries from a first plurality of computer users at a computer system, rewriting the plurality of first search queries into modified search queries, and mapping ones of the plurality of first search queries to corresponding modified search queries to produce a mapping in computer memory that correlates ones of the plurality of first search queries with corresponding ones of the rewritten search queries;
wherein rewriting the plurality of first search queries into the modified search queries comprises;
determining a phrase or term that is more common or popular than content of a first one of the plurality of first search queries; and
rewriting the first one of the plurality of first search queries into a first one of the modified search queries such that the first one of the modified search queries includes the determined phrase or term in place of the content of the first one of the plurality of first search queries;
providing search results for the rewritten search queries to the plurality of computer users;
subsequently processing a second search query received from a user who is different than the first plurality of computer users, by determining whether a portion of content from the second query matches a portion of content from at least one of the plurality of first search queries, and executing, based on a determination of whether a portion of the content from the second query matches a portion of content from at least one of the plurality of first search queries, (i) a computerized search using one of the rewritten queries that corresponds to the query from the plurality of first search queries that includes the matching portion of content in place of the second search query, or (ii) a search using information corresponding to the received second search query or a modified version of the second search query; and
providing search results from processing the second search query to the second user.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for efficient query rewriting and the like are described here. One such described method comprises: offline mapping frequently-seen search queries to rewritten queries that may be better for searching; offline caching the mapping in a cache memory; and upon receiving a search query from a user similar to one of the mapped search queries, obtaining a corresponding rewritten query from the mapping in the cache memory based on predetermined conditions, and issuing a search of the rewritten query to the backend data system in order to avoid having to issue a search query to the backend data system twice while the user is online.
75 Citations
26 Claims
-
1. A method comprising:
-
populating a computer memory, by receiving a plurality of first search queries from a first plurality of computer users at a computer system, rewriting the plurality of first search queries into modified search queries, and mapping ones of the plurality of first search queries to corresponding modified search queries to produce a mapping in computer memory that correlates ones of the plurality of first search queries with corresponding ones of the rewritten search queries; wherein rewriting the plurality of first search queries into the modified search queries comprises; determining a phrase or term that is more common or popular than content of a first one of the plurality of first search queries; and rewriting the first one of the plurality of first search queries into a first one of the modified search queries such that the first one of the modified search queries includes the determined phrase or term in place of the content of the first one of the plurality of first search queries; providing search results for the rewritten search queries to the plurality of computer users; subsequently processing a second search query received from a user who is different than the first plurality of computer users, by determining whether a portion of content from the second query matches a portion of content from at least one of the plurality of first search queries, and executing, based on a determination of whether a portion of the content from the second query matches a portion of content from at least one of the plurality of first search queries, (i) a computerized search using one of the rewritten queries that corresponds to the query from the plurality of first search queries that includes the matching portion of content in place of the second search query, or (ii) a search using information corresponding to the received second search query or a modified version of the second search query; and providing search results from processing the second search query to the second user. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
7. A method comprising:
-
populating a computer memory, by receiving a plurality of first search queries from a first plurality of computer users at a computer system, rewriting the plurality of first search queries into modified search queries, and mapping ones of the plurality of first search queries to corresponding modified search queries to produce a mapping in computer memory that correlates ones of the plurality of first search queries with corresponding ones of the rewritten search queries; wherein rewriting the plurality of first search queries into the modified search queries comprises; determining that a first one of the plurality of first search queries is frequently received; issuing the first one of the plurality of first search queries to the backend data system to find information related to the first one of the plurality of first search queries; determining additional content for the first one of the plurality of first search queries based on the related information; and rewriting the first one of the plurality of first search queries into a corresponding first one of the modified search queries such that the corresponding first one of the modified search queries includes the additional content; providing search results for the rewritten search queries to the plurality of computer users; subsequently processing a second search query received from a user who is different than the first plurality of computer users, by determining whether a portion of content from the second query matches a portion of content from at least one of the plurality of first search queries, and executing, based on a determination of whether a portion of the content from the second query matches a portion of content from at least one of the plurality of first search queries, (i) a computerized search using one of the rewritten queries that corresponds to the query from the plurality of first search queries that includes the matching portion of content in place of the second search query, or (ii) a search using information corresponding to the received second search query or a modified version of the second search query; and providing search results from processing the second search query to the second user.
-
-
20. A computer-readable storage device having computer-executable instructions contained therein for performing a method, the method comprising:
-
populating a computer memory, by receiving a plurality of first search queries from a first plurality of computer users at a computer system, rewriting the plurality of first search queries into modified search queries, and mapping ones of the plurality of first search queries to corresponding modified search queries to produce a mapping in computer memory that correlates ones of the plurality of first search queries with corresponding ones of the rewritten search queries; wherein rewriting the plurality of first search queries into the modified search queries comprises; determining a phrase or term that is more common or popular than content of a first one of the plurality of first search queries; and rewriting the first one of the plurality of first search queries into a first one of the modified search queries such that the first one of the modified search queries includes the determined phrase or term in place of the content of the first one of the plurality of first search queries; providing search results for the rewritten search queries to the plurality of computer users; subsequently processing a second search query received from a user who is different than the first plurality of computer users, by determining whether a portion of content from the second query matches a portion of content from at least one of the plurality of first search queries, and executing, based on a determination of whether a portion of the content from the second query matches a portion of content from at least one of the plurality of first search queries, (i) a computerized search using one of the rewritten queries that corresponds to the query from the plurality of first search queries that includes the matching portion of content in place of the second search query, or (ii) a search using information corresponding to the received second search query or a modified version of the second search query; and providing search results from processing the second search query to the second user. - View Dependent Claims (21, 22, 23, 25)
-
-
24. A computer-readable storage device having computer-executable instructions contained therein for performing a method, the method comprising:
-
populating a computer memory, by receiving a plurality of first search queries from a first plurality of computer users at a computer system, rewriting the plurality of first search queries into modified search queries, and mapping ones of the plurality of first search queries to corresponding modified search queries to produce a mapping in computer memory that correlates ones of the plurality of first search queries with corresponding ones of the rewritten search queries; wherein rewriting the plurality of first search queries into the modified search queries comprises; determining that a first one of the plurality of first search queries is frequently received; issuing the first one of the plurality of first search queries to the backend data system to find information related to the first one of the plurality of first search queries; determining additional content for the first one of the plurality of first search queries based on the related information; and rewriting the first one of the plurality of first search queries into a corresponding first one of the modified search queries such that the corresponding first one of the modified search queries includes the additional content; providing search results for the rewritten search queries to the plurality of computer users; subsequently processing a second search query received from a user who is different than the first plurality of computer users, by determining whether a portion of content from the second query matches a portion of content from at least one of the plurality of first search queries, and executing, based on a determination of whether a portion of the content from the second query matches a portion of content from at least one of the plurality of first search queries, (i) a computerized search using one of the rewritten queries that corresponds to the query from the plurality of first search queries that includes the matching portion of content in place of the second search query, or (ii) a search using information corresponding to the received second search query or a modified version of the second search query; and providing search results from processing the second search query to the second user.
-
-
26. A method comprising:
-
populating a computer memory, wherein populating the computer memory comprises; receiving at a computer system search interface a plurality of instances of a first search query having a first plurality of search terms forming a phrase;
determining an indicator of frequency with which the first search query has been received at the search interface;when the first search query is determined, based on the indicator of frequency, to be among a group of most frequently received queries relative to other queries received at the search interface that are different than the first search query, rewriting the first search query, based on the phrase, into a modified search query having a second plurality of search terms that are different in content or order than the first plurality of search terms, and mapping, with the computer system, the first search query to the modified search query in the memory to produce a mapping stored in the memory that correlates the first search query to the modified search query; and subsequently processing a second search query including; receiving the second search query; determining that at least one portion of the second query matches one or more of the first plurality of search terms; and executing, based on the determination of whether at least one portion of the second query matches one or more of the first plurality of search terms, (i) a computerized search of the modified search query in place of the at least one portion of the second search query, or (ii) a search using information corresponding to the second search query or a modified version of the second search query, and returning one or more corresponding search results as responsive to the received second search query, wherein the at least one portion of the second query that matches the one or more of the first plurality of search terms is replaced by the modified search query.
-
Specification