Generating suggested search queries
First Claim
Patent Images
1. A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising:
- code that receives a user supplied search query, the user supplied search query comprising a plurality of search terms;
code that removes at least one of the search terms from the user supplied search query to generate a plurality of resultant search queries;
code that determines whether individual ones of the resultant search queries comprise same search terms as a respective historical search query in a data store accessible to the computing device that is associated with at least one search result in the data store;
code that identifies a plurality of search results associated with individual ones of the plurality of resultant search queries;
code that determines whether individual ones of the plurality of search results match the at least one search result in the data store associated with the respective historical search query;
code that identifies the respective historical search query as being relevant to the user supplied search query by executing at least one relevance function and at least one similarity function against an index of the respective historical search queries with the user supplied search query, wherein the at least one relevance function comprises a phrase level edit distance comparison of the user supplied search query to the respective historical search query and the at least one similarity function is a cosine similarity, jaccad similarity, or a dice similarity;
code that generates a ranking of the respective historical search queries according to a number of the at least one search result in the data store associated with the respective historical search query that match individual ones of the plurality of search results, wherein a first respective historical search query associated with a higher number of the at least one search result in the data store associated with the respective historical search query that match individual ones of the plurality of search results is ranked higher than a second respective historical search query associated with a lower number of the at least one search result in the data store associated with the respective historical search query that match individual ones of the plurality of search results; and
code that generates a user interface displaying the respective historical search queries in an order according to the ranking.
1 Assignment
0 Petitions
Accused Products
Abstract
A user supplied search query is received. Historical search queries are identified that are relevant and/or similar to the user supplied search query. The identified historical queries are then ranked according to various factors. Suggested search queries that are relevant to the user supplied query are identified.
77 Citations
22 Claims
-
1. A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising:
-
code that receives a user supplied search query, the user supplied search query comprising a plurality of search terms; code that removes at least one of the search terms from the user supplied search query to generate a plurality of resultant search queries; code that determines whether individual ones of the resultant search queries comprise same search terms as a respective historical search query in a data store accessible to the computing device that is associated with at least one search result in the data store; code that identifies a plurality of search results associated with individual ones of the plurality of resultant search queries; code that determines whether individual ones of the plurality of search results match the at least one search result in the data store associated with the respective historical search query; code that identifies the respective historical search query as being relevant to the user supplied search query by executing at least one relevance function and at least one similarity function against an index of the respective historical search queries with the user supplied search query, wherein the at least one relevance function comprises a phrase level edit distance comparison of the user supplied search query to the respective historical search query and the at least one similarity function is a cosine similarity, jaccad similarity, or a dice similarity; code that generates a ranking of the respective historical search queries according to a number of the at least one search result in the data store associated with the respective historical search query that match individual ones of the plurality of search results, wherein a first respective historical search query associated with a higher number of the at least one search result in the data store associated with the respective historical search query that match individual ones of the plurality of search results is ranked higher than a second respective historical search query associated with a lower number of the at least one search result in the data store associated with the respective historical search query that match individual ones of the plurality of search results; and code that generates a user interface displaying the respective historical search queries in an order according to the ranking. - View Dependent Claims (2)
-
-
3. A system, comprising:
-
at least one of one or more computing devices; and a search application executable via at least one of the one or more computing devices, the search application comprising; logic that determines whether a search query is associated with at least one product in a product catalog, the search query comprising a plurality of search terms; logic that removes a search term among the plurality of search terms from the search query to generate a plurality of resultant search queries; logic that identifies a plurality of search results associated with the plurality of resultant search queries; logic that determines whether individual ones of the resultant search queries match at least one respective historical search query in a data store that is associated with a plurality of historical search results in the data store; logic that determines whether individual ones of the plurality of search results match individual ones of the plurality of historical search results; logic that identifies the at least one respective historical search query that is relevant to the search query by generating a ranking of the at least one historical search query according to a number of individual ones of the plurality of historical search results that match individual ones of the plurality of search results, wherein a first historical search query associated with a higher number of individual ones of the plurality of historical search results that match individual ones of the plurality of search results is ranked higher than a second historical search query associated with a lower number of individual ones of the plurality of historical search results that match individual ones of the plurality of search results, and executing at least one relevance function and at least one similarity function against an index of the at least one historical search query with the search query, wherein the at least one relevance function comprises a phrase level edit distance comparison of the search query and the at least one respective historical search query and the at least one similarity function is a cosine similarity, jaccad similarity, or a dice similarity; and logic that generates a user interface comprising at least one search result associated with the at least one respective historical search query according to the ranking. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method, comprising:
-
receiving, via at least one of one or more computing devices, a user supplied search query, the user supplied search query comprising a plurality of search terms; removing, via at least one of the one or more computing devices, at least one of the search terms from the user supplied search query to generate a plurality of resultant search queries; determining, via at least one of the one or more computing devices, whether individual ones of the resultant search queries one of a plurality of respective historical search queries in a data store accessible to the computing device that is associated with at least one search result in the data store; identifying, via at least one of the one or more computing devices, a plurality of search results associated with the plurality of resultant search queries; determining, via at least one of the one or more computing devices, whether the at least one search result is the same as individual ones of the plurality of search results; identifying, via at least one of the one or more computing devices, the plurality of respective historical search queries as being relevant to the user supplied search query by executing at least one relevance function and at least one similarity function against an index of the plurality of respective historical search queries with the user supplied search query, wherein the at least one relevance function comprises a phrase level edit distance comparison of the user supplied search query and at least one of the plurality of respective historical search queries and the at least one similarity function is a cosine similarity, jaccad similarity, or a dice similarity; and generating, via at least one of the one or more computing devices, a ranking of the respective historical search queries according to a number of the at least one search results that match individual ones of the plurality of search results, wherein a first historical search query associated with a higher number of the at least one search results that are the same as individual ones of the plurality of search results is ranked higher than a second historical search query associated with a lower number of that least one search results that match individual ones of the plurality of search results. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification