Location Searching with Category Indices
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 indices 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.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for selecting a location record responsive to a location search query, the method comprising:
searching, by one or more processors, a first location category index to select a first set of location records responsive to the location search query, the first location category index storing location records according to a first plurality of fields; searching, by the one or more processors, a second location category index to select a second set of location records responsive to the location search query, the second location category index storing location records according to a second plurality of fields having a common field with the first plurality of fields; scoring the first and second set of location records using a first and second set of weights, respectively, the common field designated with different weights by the first and second sets of weights determined based on a relative importance of the common field to the respective location category index; and selecting the location record from the scored first and second sets of location records.
2 . The method of claim 1 , wherein the first location category index stores location records having a level of specificity and the second location category index stores location records having a different level of specificity, and wherein the weights of the common field are further determined based on the level of specificity of the respective location category index.
3 . The method of claim 1 , wherein the first plurality of fields includes a greater number of fields than the second plurality of fields.
4 . The method of claim 1 , wherein scoring the first and second set of location records comprises:
scoring the first set of location records based on weights of the first set of weights designated to each of the first plurality of fields; scoring the second set of location records based on weights of the second set of weights designated to each of the second plurality of fields; for each candidate location record of the first and second sets of location records, determining a distance score based on a distance from a target location of the candidate location record and a current location of client device providing the location search query; and combining the distance scores with the scores based on the first and second sets of weights.
5 . The method of claim 1 , further comprising:
parsing a textual string of the location search query to generate a set of search tokens; determining a first and second subset of the set of search tokens, wherein selecting the location record is based on the first subset of search tokens; and selecting another location record based on the second subset of search tokens and the selected location record.
6 . The method of claim 5 , wherein the first subset of search tokens describes a point of interest and the second subset of search tokens describes a geographical location.
7 . The method of claim 5 , further comprising:
identifying a search token of the set of search tokens corresponding to a designated keyword, the designated keyword occurring in the textual string between the text corresponding to the first and second subset of search tokens.
8 . A computer program product comprising a non-transitory computer-readable storage medium containing computer program code for:
searching, by one or more processors, a first location category index to select a first set of location records responsive to the location search query, the first location category index storing location records according to a first plurality of fields; searching, by the one or more processors, a second location category index to select a second set of location records responsive to the location search query, the second location category index storing location records according to a second plurality of fields having a common field with the first plurality of fields; scoring the first and second set of location records using a first and second set of weights, respectively, the common field designated with different weights by the first and second sets of weights determined based on a relative importance of the common field to the respective location category index; and selecting the location record from the scored first and second sets of location records.
9 . The computer program product of claim 8 , wherein the first location category index stores location records having a level of specificity and the second location category index stores location records having a different level of specificity, and wherein the weights of the common field are further determined based on the level of specificity of the respective location category index.
10 . The computer program product of claim 8 , wherein the first plurality of fields includes a greater number of fields than the second plurality of fields.
11 . The computer program product of claim 8 , wherein scoring the first and second set of location records comprises:
scoring the first set of location records based on weights of the first set of weights designated to each of the first plurality of fields; scoring the second set of location records based on weights of the second set of weights designated to each of the second plurality of fields; for each candidate location record of the first and second sets of location records, determining a distance score based on a distance from a target location of the candidate location record and a current location of client device providing the location search query; and combining the distance scores with the scores based on the first and second sets of weights.
12 . The computer program product of claim 8 , wherein the non-transitory computer-readable storage medium further contains computer program code for:
parsing a textual string of the location search query to generate a set of search tokens; determining a first and second subset of the set of search tokens, wherein selecting the location record is based on the first subset of search tokens; and selecting another location record based on the second subset of search tokens and the selected location record.
13 . The computer program product of claim 12 , wherein the first subset of search tokens describes a point of interest and the second subset of search tokens describes a geographical location.
14 . The computer program product of claim 12 , wherein the non-transitory computer-readable storage medium further contains computer program code for:
identifying a search token of the set of search tokens corresponding to a designated keyword, the designated keyword occurring in the textual string between the text corresponding to the first and second subset of search tokens.Join the waitlist — get patent alerts
Track US2017308560A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.