US-12619675-B2 - Uniform resource identifier encoding
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a query including search parameters; selecting one or more of the search parameters; for each of the selected parameters: generating a natural language representation of the selected parameter, and determining a rank of the selected parameter among the one or more selected parameters; generating a uniform resource identifier comprising the natural language representations of the selected parameters arranged in an order based on the ranks; obtaining one or more search results identified as responsive to the query; and providing the uniform resource identifier and the one or more search results for output.
Inventors
- Heidemarie W. Williams
- Adam Fischer
- Tod Kuwahara
Assignees
- COSTAR REALTY INFORMATION, INC.
Dates
- Publication Date
- 20260505
- Application Date
- 20240612
Claims (20)
- 1 . A system comprising one or more computers and one or more non-transitory storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: providing, by a search engine, multiple search results of an initial search to a client device over a network, wherein the multiple search results are provided in web page content of a results web page of the search engine, wherein the results web page has a corresponding static uniform resource identifier displayed at the client device with the multiple search results, wherein the static uniform resource identifier encodes search parameters for the initial search by the search engine as natural language representations that are separated from each other by slashes; receiving, by a query processor of the search engine, a user modification of at least one of the natural language representations in the static uniform resource identifier to generate a modified static uniform resource identifier from the static uniform resource identifier, wherein the user modification comprises a user-initiated change to the search parameters such that natural language representations separated from each other by slashes in the modified static uniform resource identifier specify a modified set of search parameters that is different from the search parameters specified by the natural language representations included in the static uniform resource identifier; identifying, by a query processor of the search engine, the search parameters in the modified set of search parameters for a subsequent search by the search engine based on the natural language representations included in the modified static uniform resource identifier; performing, by the search engine, the subsequent search including identifying multiple results of the subsequent search based on the search parameters in the modified set of search parameters that are identified based on the natural language representations included in the modified static uniform resource identifier, wherein the subsequent search is performed by comparing the search parameters in the modified set of search parameters that were identified based on the natural language representations of the modified static uniform resource identifier to records of a search index that includes keyword data derived from content of multiple web pages obtained over the network, and wherein the multiple results of the subsequent search each satisfy user-specified search criteria indicated by the modified set of search parameters, and wherein the multiple results of the subsequent search are identified based at least on part on the keyword data in the search index; and providing, by the search engine, the multiple results of the subsequent search to the client device over the network in response to receiving the user modification of the at least one of the natural language representations such that the multiple results of the subsequent search are displayed by the client device concurrently with the modified static uniform resource identifier.
- 2 . The system of claim 1 , wherein the user modification comprises a direct edit of the displayed static uniform resource identifier by a user.
- 3 . The system of claim 1 , wherein the user modification comprises a change to one or more of the respective search parameters.
- 4 . The system of claim 1 , wherein the user modification comprises a direct edit to a value in a particular natural language representation of the displayed static uniform resource identifier.
- 5 . The system of claim 1 , the operations further comprising generating a search query based on the modified static uniform resource identifier; wherein performing the subsequent search comprises performing a search using the generated search query.
- 6 . The system of claim 1 , wherein generating the modified static uniform resource identifier comprises determining ordinal ranks of the respective search parameters of the natural language representations included in the displayed static uniform resource identifier.
- 7 . The system of claim 1 , wherein the modified static uniform resource identifier includes one or more additional natural language representations that were not included in the displayed static uniform resource identifier.
- 8 . The system of claim 1 , wherein the uniform resource identifier comprises a uniform resource locator (URL), and wherein the user modification comprises a direct edit of the displayed URL by a user that adds an additional natural language representation that was not included in the displayed URL.
- 9 . The system of claim 1 , wherein the static uniform resource identifier includes: (i) a first natural language representation for a first search parameter, and (ii) one or more other query parameters that are not represented by natural language representations.
- 10 . The system of claim 1 , wherein the static uniform resource identifier includes a first natural language representation for a first search parameter, and no other natural language representations for any other search parameters.
- 11 . The system of claim 1 , wherein the user modification comprises a manipulation of a drop-down list on a graphical user interface of the results web page of the search engine, wherein the manipulation changes a selected value in the drop-down list to add or change a user-specified search parameter.
- 12 . The system of claim 1 , wherein the results are displayed without the user transmitting the static uniform resource identifier to the search engine.
- 13 . The system of claim 1 , wherein the natural language representation includes one or more text portions that identify a search filter and one or more text portions that identify a search filter value, and wherein the text portions are separated by dashes.
- 14 . The system of claim 1 , wherein the natural language representation is other than a key-value pair separated by an “=” sign.
- 15 . The system of claim 1 , wherein the modified static uniform resource identifier is a uniform resource identifier for a search engine result page that includes the multiple results of the subsequent search.
- 16 . The system of claim 1 , wherein the user modification is a text edit to the static uniform resource identifier in a user resource identifier field of a web browser of the client device.
- 17 . The system of claim 1 , wherein the user modification comprises an addition of a natural language parameter to the static uniform resource identifier to form the modified static uniform resource identifier.
- 18 . The system of claim 1 , wherein providing the multiple search results of the initial search comprises providing data indicating a first set of geographical locations corresponding to the multiple search results of the initial search, such that the client device indicates the first set of geographical locations on a map on a user interface of the client device; and wherein providing the multiple search results of the subsequent search comprises providing data indicating a second set of geographical locations corresponding to the multiple search results of the subsequent search, such that the client device indicates the second set of geographical locations on the map on the user interface of the client device.
- 19 . The system of claim 1 , wherein the operations comprise causing a web page that displays the multiple results of the subsequent search to display, concurrently with the multiple results of the subsequent search, an interactive control of the results web page having at least one search parameter that was specified through the user modification and was identified by the search engine based on the natural language representations in the modified static uniform resource identifier.
- 20 . The system of claim 1 , wherein performing the subsequent search comprises: identifying a set of search results based on the identified search parameters of the modified set of search parameters; ranking the search results in the set of search results; and returning the ranked set of search results.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. application Ser. No. 17/087,919, filed Nov. 3, 2020, which is a continuation of U.S. application Ser. No. 16/110,063, filed Aug. 23, 2018, now U.S. Pat. No. 10,846,354, issued Nov. 24, 2020, which is a continuation of U.S. application Ser. No. 15/042,895, filed Feb. 12, 2016, now U.S. Pat. No. 10,083,244, issued Sep. 25, 2018. The complete disclosures of all of the above patent applications are hereby incorporated by reference in their entirety for all purposes. FIELD The present specification generally relates to natural language processing. BACKGROUND It is increasingly popular for users who obtain search results to want to share those search results with other users, or to save those search results for future use. For example, users are able to search for entities using various search parameters or search filters. The users obtain search results that are based on the various search parameters or that satisfy the various search filters. SUMMARY To facilitate searching, sharing a search with others, and tracking a particular search query, a uniform resource identifier (URI), such as a uniform resource locator (URL), may be constructed to include natural language text related to search parameters, but which is also compact and both shareable and useable beyond the initial user search experience. For example, a URI may be constructed that includes text associated with search criterion of the search query and the URI may be stored in association with the search query. The URI may be shared with another user or entered at another time in the future and results may be identified based on the same search criterion of the search query. In general, an aspect of the subject matter described in this specification may involve a process by which a URI is generated using reverse natural language processing to generate a natural language representation for each search parameter in a received query. The natural language representation for each search parameter may be arranged in an order in the URI based on a ranking of each search parameter, and one or more search results identified as responsive to the query may be obtained and provided along with the generated URI for output. Accordingly, a user may more easily and more efficiently conduct and share a search based on search parameters encoded in the URI. This process has wide applicability, for example, to searches for products, businesses, services, real estate such as commercial properties and residential properties both for sale and for rent, other places of interest, other location-based data, and the like, or any combination thereof. One innovative aspect of the subject matter described in this specification is embodied in methods that include the actions of receiving a query comprising search parameters, and selecting one or more of the search parameters. The actions further include, for each of the selected parameters: generating a natural language representation of the selected parameter; and determining a rank of the selected parameter among the one or more selected parameters. The actions further include generating a uniform resource identifier comprising the natural language representations of the selected parameters arranged in an order based on the ranks, obtaining one or more search results identified as responsive to the query, and providing the uniform resource identifier and the one or more search results for output. These and other implementations may each optionally include one or more of the following features. For instance, another aspect of the subject matter described in this specification may be embodied in methods that include the actions of selecting one or more of the search parameters as encoded parameters, generating a session identifier as a representation of the encoded parameters, and associating the encoded parameters with the session identifier in one or more storage devices. Another aspect of the subject matter described in this specification may be embodied in methods that include the actions of associating the session identifier with one or more of: a user identifier, a location, and a time of search, wherein the encoded parameters comprise coordinates of a map. In some implementations, the actions may further include obtaining a particular uniform resource identifier comprising natural language representations of search parameters, and identifying search parameters for the query based on the particular uniform resource identifier. Another aspect of the subject matter described in this specification may be embodied in methods that include the actions of obtaining one or more additional search results identified as responsive to the query; and providing the one or more additional search results for output. In some implementations, the one or more search parameters are selected based on a predetermined selection rule, and the rank of each selected para