Method and apparatus of expanding web searching capabilities
AssigneeMicrosoft Corporation
InventorsMartin W. Himmelstein, Dwight Aspinwall, Gerald F. Halstead, Charles Goldensher
Life of this patent
Estimating the term…
Abstract
A method and apparatus for improving searching capability on a Web. At index time, a Web page is spidered and the text and metatags returned to a processor. The processor extracts spatial information from the text and metatags. A geocode is generated for the spatial information. The geocode is then indexed along with the remaining contents of the page. A subsequent query during query time can search for entries based on proximity to a known location using the indexed geocode.
Claims39
A method for generating searchable information comprising:
- scanning a document;
- determining whether any portion of the document being scanned contains information indicative of a spatial datum;
- finding a document portion that contains the information indicative of the spatial datum;
- examining data surrounding the document portion to locate the spatial datum in the document;
- extracting to spatial datum from the document;
- geocoding the spatial datum by generating a point key from a latitude and longitude, wherein generating the point key comprises:
- interleaving bits of the latitude with bits of the longitude;
- and
- converting adjacent pairs of bits to a number, the point key comprising an N-bit binary number that corresponds with the spatial datum;
- and
- generating area keys, each area key comprising an area greater than an area defined by the point key but which includes the area defined by the point key.
An apparatus for generating searchable information comprising:
- means for scanning a document;
- means for determining whether any portion of the document being scanned contains information indicative of a spatial datum;
- means for finding a document portion containing the information indicative of the spatial datum;
- means for examining data surrounding the document portion to locate the spatial datum in the document;
- means for extracting the spatial datum from the document;
- means for geocoding the spatial datum by generating a point key from a latitude and longitude, wherein generating the point key comprises:
- interleaving bits of the latitude with bits of the longitude;
- and
- converting adjacent pairs of bits to a number, the point key comprising an N-bit binary number that corresponds with the spatial datum;
- and
- means for generating a set of area keys to perform geographical searches, each area key comprising an area greater than an area defined by the point key but which includes the area defined by the point key.
A method for facilitating a search comprising:
- receiving a user request for a proximity search of one or more objects, the user request including a spatial location and a distance from the spatial location, wherein the spatial location and the distance from the spatial location correspond to a desired search area;
- in response to the user request, generating a point key of the spatial location;
- defining the desired search area by covering an area around the point key from a latitude and longitude, wherein generating the point key comprises:
- interleaving bits of the latitude with bits of the longitude;
- and
- converting adjacent pairs of bits to a number, the point key comprising an N-bit binary number that corresponds with the spatial location based on the distance from the spatial location;
- determining a set of area keys intersecting the desired search area, each area key comprising an area greater than an area defined by the point key but which includes the area defined by the point key;
- and
- searching a database for one or more records that have keys matching any one of the set of area keys.
The method defined in claim) 21 wherein the information indicative of a spatial location comprises a latitude and a longitude.
A system comprising:
- an address extractor to scan an arbitrary document, to determine whether any portion of the document being scanned contains information indicative of spatial data, to find a document portion that contains the information indicative of the spatial data, to examine data surrounding the document portion to locate the spatial data in the document, and to automatically extract the spatial data from the arbitrary document;
- a point key generator to generate a point key from a latitude and longitude, the point key comprising an N-bit binary number corresponding to the spatial data in response to extraction of the spatial data, wherein the point key generator generates the point key by interleaving bits of the latitude with bits of the longitude and converting adjacent pairs of bits to a number;
- and
- an area key producer to create a set of area keys responsive to a query specifying an origin and a distance, each area key comprising an area greater than an area defined by a respective point key but which includes the area defined by a respective point key.
A method of spatially locating a document comprising:
- receiving a user request for a proximity search of one or more objects, the user request including information indicative of an address of a spatial location and a selected distance from the spatial location, wherein the spatial location and the selected distance from the spatial location correspond to a desired search area;
- in response to the user request, generating a first key indicative of the spatial location from a latitude and longitude, the first key comprising an N-bit binary number corresponding to the spatial location, wherein generating the first key comprises:
- interleaving bits of the latitude with bits of the longitude;
- and
- converting adjacent pairs of bits to a number;
- generating a second key intersecting the desired search area around the first key corresponding to the selected distance from the spatial location, the second key comprising an area greater than an area defined by the first key but which includes the area defined by the first key;
- and
- performing a text search of a plurality of records using the second key.
Dependencies are inferred from the claim text.