Location searching with category indices
First Claim
1. A method for selecting a location responsive to a location search query, the method comprising:
- receiving, by one or more processors, a location search query comprising a textual string;
parsing, by the one or more processors, the textual string to generate a set of search tokens;
identifying a first location category index describing locations using a first plurality of fields;
identifying a second location category index describing locations using a second plurality of fields including at least a common field with the first plurality of fields and a different field than the first plurality of fields;
searching, by the one or more processors, the first location category index to select a first set of index search results by identifying locations in the first location category index that have one or more fields of the first plurality of fields at least partially matching a search token in the set of search tokens;
identifying a first set of scoring weights designating a weight for each field in the first plurality of fields of the first location category index;
scoring each index search result in the first set of index search results by scoring each field of the first plurality of fields that at least partially matches a search token in the set of search tokens according to the scoring weight for that field of the first set of scoring weights;
searching, by the one or more processors, the second location category index to select a second set of index search results by identifying locations in the second location category index that have one or more fields of the second plurality of fields at least partially matching a search token in the set of search tokens;
identifying a second set of scoring weights designating a weight for each field in the second plurality of fields of the second location category index, the common field designated with different weights by the first and second sets of scoring weights, the weights of the common field determined based on a relative importance of the common field to the respective location category index;
scoring each index search result in the second set of index search results by scoring each field of the second plurality of fields that at least partially matches a search token in the set of search tokens according to the scoring weight for that field of the second set of scoring weights; and
selecting, for the location, an index search result of the first set of index search results or the second set of index search results based on the scoring of the first set of index search results and the scoring of the second set of index search results.
10 Assignments
0 Petitions
Accused Products
Abstract
A map searching system determines locations responsive to a search query. The map searching system parses the search query to generate a set of search tokens and searches a plurality of location category indices using the search tokens. The location category indicies specify indexes of locations according to various location categories, such as points of interest and cross streets. The resulting records selected from the search tokens are scored based on scoring weights specific to the location category index that a record was selected from. After scoring, a number of high-scoring records are selected as the responsive records to the location search.
-
Citations
19 Claims
-
1. A method for selecting a location responsive to a location search query, the method comprising:
-
receiving, by one or more processors, a location search query comprising a textual string; parsing, by the one or more processors, the textual string to generate a set of search tokens; identifying a first location category index describing locations using a first plurality of fields; identifying a second location category index describing locations using a second plurality of fields including at least a common field with the first plurality of fields and a different field than the first plurality of fields; searching, by the one or more processors, the first location category index to select a first set of index search results by identifying locations in the first location category index that have one or more fields of the first plurality of fields at least partially matching a search token in the set of search tokens; identifying a first set of scoring weights designating a weight for each field in the first plurality of fields of the first location category index; scoring each index search result in the first set of index search results by scoring each field of the first plurality of fields that at least partially matches a search token in the set of search tokens according to the scoring weight for that field of the first set of scoring weights; searching, by the one or more processors, the second location category index to select a second set of index search results by identifying locations in the second location category index that have one or more fields of the second plurality of fields at least partially matching a search token in the set of search tokens; identifying a second set of scoring weights designating a weight for each field in the second plurality of fields of the second location category index, the common field designated with different weights by the first and second sets of scoring weights, the weights of the common field determined based on a relative importance of the common field to the respective location category index; scoring each index search result in the second set of index search results by scoring each field of the second plurality of fields that at least partially matches a search token in the set of search tokens according to the scoring weight for that field of the second set of scoring weights; and selecting, for the location, an index search result of the first set of index search results or the second set of index search results based on the scoring of the first set of index search results and the scoring of the second set of index search results. - View Dependent Claims (2, 3, 4, 5, 16, 18)
-
-
6. A computer program product for selecting a location responsive to a location search query, the computer program product comprising a non-transitory computer-readable storage medium containing computer program code for:
-
receiving, by one or more processors, a location search query comprising a textual string; parsing, by the one or more processors, the textual string to generate a set of search tokens; identifying a first location category index describing locations using a first plurality of fields; identifying a second location category index describing locations using a second plurality of fields including at least a common field with the first plurality of fields and a different field than the first plurality of fields; searching, by the one or more processors, the first location category index to select a first set of index search results by identifying locations in the first location category index that have one or more fields of the first plurality of fields at least partially matching a search token in the set of search tokens; identifying a first set of scoring weights designating a weight for each field in the first plurality of fields of the first location category index; scoring each index search result in the first set of index search results by scoring each field of the first plurality of fields that at least partially matches a search token in the set of search tokens according to the scoring weight for that field of the first set of scoring weights; searching, by the one or more processors, the second location category index to select a second set of index search results by identifying locations in the second location category index that have one or more fields of the second plurality of fields at least partially matching a search token in the set of search tokens; identifying a second set of scoring weights designating a weight for each field in the second plurality of fields of the second location category index, the common field designated with different weights by the first and second sets of scoring weights, the weights of the common field determined based on a relative importance of the common field to the respective location category index; scoring each index search result in the second set of index search results by scoring each field of the second plurality of fields that at least partially matches a search token in the set of search tokens according to the scoring weight for that field of the second set of scoring weights; and selecting, for the location, an index search result of the first set of index search results or the second set of index search results based on the scoring of the first set of index search results and the scoring of the second set of index search results. - View Dependent Claims (7, 8, 9, 10, 17, 19)
-
-
11. A system for selecting a location responsive to a location search query, comprising:
-
one or more processors configured for executing instructions; and a non-transitory computer-readable storage medium, storing instructions that when executed by the one or more processors cause the one or more processors to; receive a location search query comprising a textual string; parse the textual string to generate a set of search tokens; identify a first location category index describing locations using a first plurality of fields; identify a second location category index describing locations using a second plurality of fields including at least a common field with the first plurality of fields and a different field than the first plurality of fields; search, by the one or more processors, the first location category index to select a first set of index search results by identifying locations in the first location category index that have one or more fields of the first plurality of fields at least partially matching a search token in the set of search tokens; identify a first set of scoring weights designating a weight for each field in the first plurality of fields of the first location category index; score each index search result in the first set of index search results by scoring each field of the first plurality of fields that at least partially matches a search token in the set of search tokens according to the scoring weight for that field of the first set of scoring weights; search, by the one or more processors, the second location category index to select a second set of index search results by identifying locations in the second location category index that have one or more fields of the second plurality of fields at least partially matching a search token in the set of search tokens; identify a second set of scoring weights designating a weight for each field in the second plurality of fields of the second location category index, the common field designated with different weights by the first and second sets of scoring weights, the weights of the common field determined based on a relative importance of the common field to the respective location category index; score each index search result in the second set of index search results by scoring each field of the second plurality of fields that at least partially matches a search token in the set of search tokens according to the scoring weight for that field of the second set of scoring weights; and select, for the location, an index search result of the first set of index search results or the second set of index search results based on the scoring of the first set of index search results and the scoring of the second set of index search results. - View Dependent Claims (12, 13, 14, 15)
-
Specification