US20240037162A1 - Surfacing user-specific data records in search - Google Patents
Surfacing user-specific data records in search Download PDFInfo
- Publication number
- US20240037162A1 US20240037162A1 US18/377,662 US202318377662A US2024037162A1 US 20240037162 A1 US20240037162 A1 US 20240037162A1 US 202318377662 A US202318377662 A US 202318377662A US 2024037162 A1 US2024037162 A1 US 2024037162A1
- Authority
- US
- United States
- Prior art keywords
- specific data
- data record
- user
- display
- given user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 25
- 238000000034 method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 230000009471 action Effects 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 8
- 230000010006 flight Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 6
- 238000013515 script Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012015 optical character recognition Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Definitions
- This specification relates to displaying search results.
- the Internet provides access to a wide variety of resources, such as image files, audio files, video files, and web pages.
- a search system can identify resources in response to queries submitted by users and provide information about the resources in a manner that is useful to the users. The users then navigate through (e.g., click on) the search results to acquire information of interest to the users.
- Users of search systems are often searching for information regarding a specific entity. For example, users may want to learn about a singer that they just heard on the radio. Conventionally, the user would initiate a search for the singer and select from a list of search results determined to be relevant to the singer.
- Implementations of the present disclosure are generally directed to displaying user-specific data records with search results. More particularly, implementations of the present disclosure are directed to determining that a set of data records is to be displayed with search results, and determining a display prominence of data records.
- innovative aspects of the subject matter described in this specification can be embodied in methods that include actions of receiving a search query, the search query being provided by a user, receiving one or more search results that are responsive to the search query, the one or more search results being respectively representative of one or more resources, processing one or more triggering rules based on at least one of the search query and the search results, determining, based on processing the one or more triggering rules, that a set of data records is to be displayed in a search results page with the search results, the set of data records including one or more data records that are specific to the user, determining a display prominence of at least one data record in the set of data records, the display prominence indicating a prominence of the at least one data record when displayed in the search results page, and providing the search results and the set of data records for display, the at least one data record being displayed based on the display prominence.
- Other implementations of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
- the display prominence indicates a position of the at least one data record within the search results page; the display prominence indicates a visual effect to the at least one data record within the search results page; determining a display prominence includes: determining at least one of a time and a date associated with the at least one data record, and determining the display prominence based on the at least one of a time and a date, and a threshold time; the display prominence is set to a first value in response to a time difference exceeding the threshold time, the time difference being determined based on the at least one of a time and a date, and the display prominence is set to a second value in response to the time difference not exceeding the threshold time; all data records in the set of data records is associated with the display prominence; a triggering rule of the one or more triggering rules triggers display of the set of data records based on whether a knowledge panel is to be displayed in response to the search query; a triggering rule of the one or more triggering rules triggers
- a user's intent can be determined and user-specific, e.g., personal, search results can be provided, which are relevant to that user.
- user-specific e.g., personal
- search results can be provided, which are relevant to that user.
- an intent of a user in submitting the search query can be determined based on general search results, e.g., public search results that are not specific to the particular user. In this manner, triggering of a display of data records can more accurately reflect an intent of the user.
- FIG. 1 is a block diagram of an example environment in which a search system provides search services.
- FIG. 2 A and FIG. 2 B depict respective example search results displays including data records.
- FIG. 3 is a flowchart of an example process for data records in search results.
- FIG. 1 is a block diagram of an example environment 100 in which a search system 120 provides search services.
- the example environment 100 includes a network 102 , e.g., a local area network (LAN), wide area network (WAN), the Internet, or a combination thereof, connects web sites 104 , user devices 106 , and the search system 120 .
- the network 102 can be accessed over a wired and/or a wireless communications link.
- mobile computing devices such as smartphones can utilize a cellular network to access the network.
- the environment 100 may include millions of web sites 104 and user devices 106 .
- a web site 104 is provided as one or more resources 105 associated with a domain name and hosted by one or more servers.
- An example web site is a collection of web pages formatted in an appropriate machine-readable language, e.g., hypertext markup language (HTML), that can contain text, images, multimedia content, and programming elements, e.g., scripts.
- HTML hypertext markup language
- Each web site 104 is maintained by a publisher, e.g., an entity that manages and/or owns the web site.
- a resource 105 is data provided over the network 102 and that is associated with a resource address, e.g., a uniform resource locator (URL).
- resources 105 that can be provided by a web site 104 include web pages, word processing documents, and portable document format (PDF) documents, images, video, and feed sources, among other appropriate digital content.
- PDF portable document format
- the resources 105 can include content, e.g., words, phrases, images and sounds and may include embedded information, e.g., meta information and hyperlinks, and/or embedded instructions, e.g., scripts.
- a user device 106 is an electronic device that is under control of a user and is capable of requesting and receiving resources 105 over the network 102 .
- Example user devices 106 include personal computers, mobile computing devices, e.g., smartphones and/or tablet computing devices that can send and receive data over the network 102 .
- the term mobile computing device (“mobile device”) refers to a user device that is configured to communicate over a mobile communications network.
- a smartphone e.g., a phone that is enabled to communicate over the Internet, is an example of a mobile device.
- a user device 106 typically includes a user application, e.g., a web browser, to facilitate the sending and receiving of data over the network 102 .
- the search system 120 identifies the resources 105 by crawling and indexing the resources 105 provided on web sites 104 .
- Data about the resources 105 can be indexed based on the resource to which the data corresponds.
- the indexed and, optionally, cached copies of the resources 105 are stored in a search index 122 .
- a user device 106 can include one or more input modalities.
- Example modalities can include a keyboard, a touchscreen and/or a microphone.
- a user can use a keyboard and/or touchscreen to type in a search query.
- a user can speak a search query, the user speech being captured through a microphone, and being processed through speech recognition to provide the search query.
- a search results display can include one or more web pages, e.g., one or more search results pages.
- a web page can be provided based on a web document that can be written in any appropriate machine-readable language. It is contemplated, however, that implementations of the present disclosure can include other appropriate display types.
- search results can be provided in a display generated by an application that is executed on a computing device, and/or a display generated by an operating system, e.g., mobile operating system.
- search results can be provided based on any appropriate form, e.g., Javascript-html, plaintext.
- a search result 112 is data generated by the search system 120 that identifies a resource 105 that is responsive to a particular search query, and includes a link to the resource 105 .
- An example search result 112 can include a web page title, a snippet of text or a portion of an image extracted from the web page, and the URL of the web page.
- data provided in the search results 112 can be retrieved from a resource data store.
- the search system 120 can provide the search results display 111 , which displays the search results 112 .
- the search results display 111 can be populated with information, e.g., a web page title, a snippet of text or a portion of an image extracted from the web page, that is provided from the resource data store.
- data for the search queries 109 submitted during user sessions are stored in a data store, such as the historical data store 124 .
- the search system 120 can store received search queries in the historical data store 124 .
- selection data specifying actions taken in response to search results 112 provided in response to each search query 109 are also stored in the historical data store 124 , for example, by the search system 120 . These actions can include whether a search result 112 was selected, e.g., clicked or hovered over with a pointer).
- the selection data can also include, for each selection of a search result 112 , data identifying the search query 109 for which the search result 112 was provided.
- the example environment 100 also includes a data record system 130 communicably coupled to the search system 120 , e.g., directly coupled or coupled over a network such as network 102 .
- the search system 120 can interact with the data record system 130 to provide one or more data records that are specific to the user that submitted the search query 109 .
- the data record system 130 can provide data records that can be included within the search results 112 based on data records stored in a data records data store 132 .
- the data records data store 132 may include information specific to the user that submitted the search query 109 .
- the data records data store 132 may include this data for many different users.
- the data records data store 132 may be a dedicated data store specific to the user submitting the search query 109 .
- the data record system 130 may receive the search query and an identification of the user from the search system 120 .
- the user can be logged into a search service that provides the search system 120 .
- the data record system 130 can provide a set of data records to the search system 120 .
- the set of data records can include one or more data records.
- the data record system 130 can provide the set of data records that can be displayed in the search results display 111 .
- a display prominence of the one or more data records within the search results display 111 is determined.
- the search system 120 determines the display prominence.
- the data record system 130 determines the display prominence.
- the display prominence can include a position of each data record within the search results display 111 and/or visual effects that can be added to data records within the search results display 111 . For example, a data record can be displayed at a top portion of the search results display 111 , e.g., above search results, such that the data record is prominently displayed to the user.
- the data record can be displayed on a side portion, e.g., left-hand-side, right-hand-side, of the search results display, such that the data record is less prominently displayed to the user, e.g., relative to if the data record had been displayed in the top portion.
- the search system 120 generates a search result display 111 based on the retrieved digital content.
- the search results 112 e.g., provided in the search results display 111 , can be tailored to the user that submitted the search query 109 .
- a data record can be specific to a user and can be generated based on one or more electronic documents associated with the user.
- an electronic document can include data that can be used to populate a data record.
- Example electronic documents can include electronic mail messages, instant messages (IMs), short message system (SMS) messages, social networking posts, word processing documents, images, e.g., image recognition, optical character recognition, barcodes, electronic calendar items, electronic meeting invitations, audio transcripts, or other appropriate sources of information.
- an electronic document can be associated with a category.
- Example categories can include travel, e.g., travel reservations, lodging, e.g., hotel reservations, commerce, e.g., product purchases, events, e.g., theater performances, movies, concerts, sporting events, and restaurants, e.g., restaurant reservation.
- the electronic document can convey a booking confirmation, travel itinerary, hotel reservation confirmation, shipment notification, order tracking update, purchase receipt, restaurant reservation confirmation, or other appropriate forms of data.
- a category of an electronic document can be determined based on an identifier and/or data provided in the electronic document.
- a data record can be specific to a category, and fields in the plurality of fields can be relevant to the category.
- the data record can be specific to the flight reservation category and can include category-specific data fields, e.g., confirmation number, flight number, departure airport, arrival airport, departure date/time, arrival date/time.
- the data record can be specific to the hotel reservation category and can include category-specific data fields, e.g., reservation number, check-in date, check-out date, room rate, room type.
- the data record can be specific to the purchases category and can include category-specific data fields, e.g., product name, product identifier, quantity, cost, estimated shipping date, actual shipping date, tracking number.
- the data record once populated, is stored in a data repository, e.g., the data records data store 132 .
- the data repository can include one or more tables in one or more databases, one or more flat files, or combinations of these and any other appropriate format for the storage and retrieval of information such as data records.
- Implementations of the present disclosure are generally directed to determining whether to display one or more data records in search results, and determining a display prominence associated with each data record.
- one or more triggering rules are provided, the triggering rules being processed to determine whether one or more data records are to be displayed.
- a search query and one or more data records can be processed to determine the display prominence of one or more data records that are to be displayed.
- additional data can also be processed to determine the display prominence.
- the example context includes data records associated with the flight reservation category. It is contemplated, however, that implementations of the present disclosure can be provided in other contexts. For example, implementations of the present disclosure can be provided with data records associated with travel, e.g., the flight reservation category, lodging, e.g., hotel reservations, commerce, e.g., product purchases, events, e.g., theater performances, movies, concerts, sporting events, and restaurants, e.g., restaurant reservations.
- travel e.g., the flight reservation category
- lodging e.g., hotel reservations
- commerce e.g., product purchases
- events e.g., theater performances, movies, concerts, sporting events
- restaurants e.g., restaurant reservations.
- User information e.g., information about a user's social network, social actions or activities, profession, a user's preferences, a user's current location, is collected or used by systems subject to user consent. Users are given an opportunity to consent to whether the user information is collected. Users can select whether and/or how to receive content that may be more relevant to the user.
- certain data may be treated in one or more ways before it is stored or used, so that it is anonymized, so that personally identifiable information is removed, and/or so that it is encrypted.
- a user can submit a search query to a search service, e.g., the search query 109 submitted to the search system 120 .
- the search query and a superset of data records are processed to determine whether a set of data records is to be displayed.
- the superset of data records includes data records that are specific to the user that submitted the search query.
- the set of data records is a sub-set of the superset of data records.
- the set of data records includes one or more data records.
- the superset of data records includes data records that are specific to a user, e.g., the user that submitted the search query.
- data records of the superset of data records can be determined to be relevant to the search query. If, for example, a data record is determined to be relevant to the search query, the data record is included in the set of data records.
- an example search query can include [flights].
- a user intent may not be clear, e.g., an intent to retrieve user-specific search results, or an intent to retrieve general search results.
- the example search query can be more specific, e.g., [flight from san francisco to austin], [generic airways flight].
- a user intent may be clear, e.g., an intent to retrieve user-specific search results.
- data records that are relevant to flight reservations made by the user can be provided in the set of data records.
- a triggering rule defines a set of conditions where, if each condition is true, one or more data records from the superset of data records are included in the set of data records that are to be displayed.
- the set of conditions can include one or more conditions.
- Example triggering rules are discussed in further detail below with reference to the example context. It is contemplated that example triggering rules can be applicable in other contexts.
- An example triggering rule can trigger display of a set of data records based on whether a knowledge panel is to be displayed in response to the search query.
- a knowledge panel system can process the search query and can determine whether a knowledge panel is to be displayed.
- the knowledge panel system can provide a signal to the search system and/or the data record system, the signal indicating that a knowledge panel is to be displayed.
- a knowledge panel can be provided for queries that have been determined to reference a particular entity, such as a person, place, country, landmark, animal, historical event, organization, business, sports team, sporting event, movie, song, album, game, work of art, or any other appropriate entity.
- a particular entity such as a person, place, country, landmark, animal, historical event, organization, business, sports team, sporting event, movie, song, album, game, work of art, or any other appropriate entity.
- one or more topics can be determined from the submitted search query, and it can be determined that the one or more topics correspond to a topic, for which a knowledge panel is available.
- the knowledge panel can be triggered for display.
- a knowledge panel for a particular entity can include content related to the particular entity.
- a knowledge panel includes a set of factual information deemed relevant to the particular entity.
- the example search query [AUS flights] can result in a knowledge panel being displayed in the search results.
- the knowledge panel can include content reflecting airline flights to and/or from Austin, TX, e.g., departure cities, arrival cities, flight durations, airlines.
- the example triggering rule can provide that, if a knowledge panel is to be displayed in response to the search query, and if information that is to be displayed in the knowledge panel corresponds to data provided in data records of the superset of data records, then a set of data records is to be displayed.
- the example search query [Austin flights] can be received.
- additional terms can be provided.
- IATA International Air Transport Association
- a knowledge panel is to be displayed.
- a signal can be received, the signal indicating that a knowledge panel is to be displayed.
- information can be compared to information provided in data records of the superset of data records.
- the IATA code AUS can be compared to departure city and/or arrival city information provided in data records.
- the data record is included in the set of data records to be displayed with the search results.
- Another example triggering rule can trigger display of a set of data records based on whether a term in the search query matches information provided in data records of the superset of data records.
- a term in the search query is determined to match information, if the match is an exact match.
- the example search query [AUS flights] can be received.
- the search term AUS can be compared to IATA airport codes provided in data records. If a data record includes the IATA airport code AUS, e.g., as departure airport, as arrival airport, the data record is included in the set of data records to be displayed.
- Another example triggering rule can trigger display of a set of data records based on search results that are to be provided in response to the search query.
- a set of data records is to be displayed.
- the example search query [Generic Airways] can be received, where “Generic Airways” is provided as a fictitious airline.
- Search results responsive to the example search query can be received.
- an IATA airline code for Generic Airways e.g., GW
- GW Generic Airways
- another example triggering rule can trigger display of a set of data records based on whether the search query includes a flight number that corresponds to flight information provided in data records of the superset of data records. In some examples, if at least one of a flight number and an IATA airline code of the search query correspond to a data record, the data record is included in the set of data records that are to be displayed. In some examples, if both the flight number and the IATA airline code of the search query correspond to a data record, the data record is included in the set of data records that are to be displayed.
- the example search query [GA 432] can be received. The search terms GA and 432 can be respectively compared to flight numbers and/or IATA airline codes provided in data records.
- Another example triggering rule can trigger display of a set of data records based on whether the search query and/or search results that are responsive to the search query are related to a category of the data records, whether search results that are responsive to the search query correspond to information provided in data records, and whether a knowledge panel is to be displayed.
- the example triggering rule can provide that, if the search query and/or the search results are related to a category of data records, if the search results correspond to information provided in data records, and if a knowledge panel is not to be displayed, then a set of data records are to be displayed. In this manner, it can be implicitly determined whether the display of data records would be beneficial to the user based on the received search query and the search results that are responsive to the search query.
- the search query can be processed and one or more categories associated with the search query can be identified. If a category of the one or more categories matches a category of data records, discussed above, it can be determined that the search query is related to a category of the data records.
- the search results that are to be displayed in response to the search query can be processed and one or more categories associated with the search results can be identified. If a category of the one or more categories matches a category of data records, discussed above, it can be determined that the search query is related to a category of the data records.
- each search result can have one or more categories associated therewith.
- category levels can be provided as primary categories, secondary categories, or tertiary categories.
- each category level can be assigned a respective value, e.g., 2, 1, 0, respectively.
- category levels of the search results can be summed to provide a total category level for the search results as a whole.
- search results can be associated with one or more categories. Consequently, respective one or more total category levels can be provided.
- each total category level can be compared to a threshold category level to determine whether the search results, as a whole, correspond to the particular category. In some examples, if the category level exceeds the threshold category level, the search results, as a whole, are determined to be associated with the particular category.
- whether search results correspond to information provided in data records can be determined based on one or more locations associated with individual search results.
- a search result can be associated with a location.
- the location can be provided as a city, e.g., Austin.
- the location can be provided as coordinates, e.g., latitude and longitude.
- search results having a location that is determined to be proximate to a location, from which the user submitted the search query are ignored. For example, the user can be located in San Francisco and can submit the example search query [hiking trip to texas hill country].
- Example search results that are responsive to the search query can include search results associated with locations near central Texas, e.g., Texas hill country, as discussed below.
- search results can also include search results associated with locations near San Francisco, e.g., a retailer that sells hiking equipment.
- the example triggering rule ignores search results that are proximate to the location, from which the user submitted the search query.
- a location score can be determined for each location based on proximity to another location.
- the location can be determined based on a category that the search results are determined to correspond to, as discussed above. For example, if the search results are determined to correspond to the flight category, the location can include an airport. If, the location score exceeds a threshold score relative to another location that is in data records of the superset of data records, the search result can be determined to correspond to information provided in the data records. In some examples, the search results, as a whole, are determined to correspond to information provided in the data records, if the number of search results that correspond to information provided in data records exceeds a threshold number of search results.
- the example search query [hiking trip to texas hill country] can be received, and search results can be provided.
- the search results can be associated with hiking trails, parks, recreational facilities and/or outdoor equipment retailers that are associated with the Texas hill country.
- One or more search results can be associated with a location, e.g., a city in which an outdoor equipment retailer is located, a city in which and/or coordinates at which a hiking trail is located.
- a location of an airport e.g., AUS, can be determined and can be compared to locations associated with the search results to provide respective location scores.
- the airport is provided as an arrival airport, e.g., destination airport, that is provided in the data records.
- a location scoring service can process location information to provide the location scores.
- the location scores can be determined based on a distance between the airport, e.g., AUS, and the locations of the search results.
- a location that is near to the airport can have a higher score than a location that is further from the airport.
- a location score can range between a minimum value, e.g., 0, and a maximum value, e.g., 1.
- a first threshold difference e.g. 100 miles
- the location score for the search result is set equal to the minimum value.
- a second threshold difference e.g. 10 miles
- the example search query [hiking trip to texas hill country] can be received, and five example search results can be provided that are responsive to the search query.
- the five example search results can include a first retailer located 8 miles from AUS, a second retailer located 40 miles from AUS, a first recreational area located 70 miles from AUS, a second recreational area located 110 miles from AUS, and a hiking trail located 50 miles from AUS.
- Respective location scores can be provided for each of the example search results.
- a first location score associated with the first retailer can be equal to a maximum value, e.g., 1, a second location score associated with the second retailer can be equal to a value that is between the minimum value and the maximum value, a third location score associated with the first recreational area can be equal to a value that is between the minimum value and the maximum value, a fourth location score associated with the second recreational area can be equal to the minimum value, e.g., 0, and a fifth location score associated with the hiking trail can be equal to a value that is between the minimum value and the maximum value.
- each location score can be compared to a threshold score to determine whether the respective search result corresponds to information provided in the superset of data records. More particularly, if, the location score associated with a search result exceeds the threshold score, the search result is determined to correspond to information provided in the data records. If, the location score associated with a search result does not exceed the threshold score, the search result is determined not to correspond to information provided in the data records. Continuing with the example above, it can be determined that the first location score, the second location score, the third location score and the fifth location score each exceed the threshold score. Consequently, the respective search results are determined to correspond to information provided in the data records.
- the search results, as a whole correspond to information provided in the data records. More specifically, if the number of search results that correspond to information provided in data records exceeds a threshold number of search results, it is determined that the search results, as a whole, correspond to information provided in the data records.
- an example threshold number of search results can be provided as three. Because, in the example, it was determined that the first location score, the second location score, the third location score and the fifth location score each exceed the threshold score, the number of search results that correspond to information provided in data records is equal to four. Consequently, the number of search results exceeds the threshold number of search results, and it is determined that the search results, as a whole, correspond to information provided in the data records, and a set of data records is provided to be displayed in the search results.
- Another example trigger rule can trigger display of a set of data records based on whether one or more search terms of the search query exactly match one or more trigger keywords.
- the one or more trigger keywords can be provided for respective categories.
- example trigger keywords can include “flight,” “flights,” “my flight,” “my flights” “confirmation,” and “booking.”
- a set of data records is to be displayed with the search results.
- the search results can include personal search results.
- a personal search result can include user-specific content that is specific to the user that submitted the search query, and that is responsive to the search query.
- user-generated content can include content that is generated using one or more computer-implemented services.
- Example computer-implemented services can include a social networking service, an electronic messaging service, a chat service, a micro-blogging service, a blogging service and a digital content sharing service.
- the user-generated content can include content that is provided in electronic messages, chat sessions, posts to social networking services, content posted to sharing services, e.g., photo sharing services, and/or content posted to a blogging service.
- user-specific content can be provided in an electronic document that was used to generate one or more data records, as discussed above.
- an electronic document can include a confirmation message sent from an airline to the user, confirming a flight that the user booked.
- a data record for the flight can be provided based on the electronic document.
- another example triggering rule can trigger display of a set of data records based on whether the search results include personal search results, and a personal search result corresponds to user-specific content that was used to provide a data record.
- search results can include a personal search result that is representative of an electronic document. It can be determined that a data record in the superset of data records was generated based on the electronic document. Consequently, the data record can be included in a set of data records that are to be displayed with the search results.
- one or more trigger rules can trigger display of a set of data records with search results, the set of data records including one or more data records.
- a threshold number of data records can be displayed. For example, it can be determined that X data records could be displayed with the search results, but a threshold number of data records can include Y data records, wherein Y is less than X. Consequently, only Y data records of the X data records are provided in the set of data records that are to be displayed.
- data records that are included in the set of data records can be selected based on time. For example, data records can be provided in chronological order, e.g., based on departure date and time, and the first Y data records are included in the set of data records. In some examples, the data records in the set of data records can be displayed in the chronological order.
- a display prominence of each data record of the set of data records is determined.
- every data record in the set of data records is assigned the same display prominence.
- each data record in the set of data records has a data record-specific display prominence.
- the display can include a position of each data record within the search results display and/or visual effects that can be added to data records within the search results display. For example, a data record can be displayed at a top portion of the search results display, e.g., above search results, such that the data record is prominently displayed to the user.
- the data record can be displayed on a side portion, e.g., left-hand-side, right-hand-side, of the search results display, such that the data record is less prominently displayed to the user, e.g., relative to if the data record had been displayed in the top portion.
- visual effects can include highlighting, bolding, animating and/or any other appropriate visual effect that can draw a user's attention to data records within the search results display.
- the display prominence is determined based on one or more times and/or dates associated with a respective data record.
- Example times and/or dates can include departure time/date of a flight, time/date for check-in at a hotel, and time/date of an event.
- the time and/or date is provided as the departure time/date of a flight.
- the display prominence is provided as a first value, e.g., 0, indicating that the respective data record is not to be prominently displayed, e.g., displayed on a side portion of the search results display and/or without visual effects.
- the display prominence is provided as a second value, e.g., 1, indicating that the respective data record is to be displayed prominently, e.g., on a top portion of the search results display and/or with visual effects.
- FIGS. 2 A and 2 B depict respective example search results displays 200 a, 200 b including data records 202 , 204 .
- the search results displays 200 a, 200 b are provided as web pages, e.g., search results pages. Implementations of the present disclosure, however, can include other appropriate displays.
- FIG. 2 A depicts the example search results display 200 a including the data records 202 , 204 being displayed less prominently.
- the example search results displays 200 a, 200 b are depicted inside a web browser, this is for context only and is not intended to limit the scope of the present disclosure to any one web browser or even to implementations involving serving a web page.
- the example search results display 200 a includes a search box 206 .
- the search box 206 may be a text box specified using an appropriate machine-readable language, e.g., HTML.
- the search box 206 may be a custom component specified by another suitable web development language such as Javascript.
- the illustrated search box 206 includes a search query 208 .
- the search query includes [Generic Airways], which is the name of a fictitious airline, as discussed above.
- the search query 208 may be entered by a user.
- the search query 208 may be programmatically received through an application programmer interface (API) or other suitable means.
- API application programmer interface
- the illustrated search box 206 is also associated with a search button 210 .
- a user may perform a search on the search query 208 by activating, e.g., clicking on, the search button 210 . This activation may be performed by any appropriate mechanism such as clicking the search button 210 with a pointing device (e.g., a mouse) or pressing a key or combination of keys on a keyboard.
- the search query 208 can be automatically submitted as it is being entered.
- the illustrated search results display 200 a also includes first user information 212 .
- the first user information 212 indicates that the user “john.searcher@mail.com” is currently logged in.
- data records provided within search results will be specific to the user john.searcher@mail.com.
- the search results display 200 a might not include an indication of the current user, but the search query 208 may still be processed according to the current user.
- the illustrated search results display 200 a also includes a search results pane 220 including one or more search results 222 , 224 , 226 .
- the search results pane 220 is a frame segregating the search results from other panes of the search results display 200 a.
- the search results pane 220 is provided as a consecutive list of search results.
- the illustrated search results display 200 a includes an auxiliary pane 230 .
- the data records 202 , 204 are displayed within the auxiliary pane 230 .
- the search query 208 [Generic Airways] was entered by the user and was processed by a search system, e.g., the search system 120 of FIG. 1 , in view of one or more trigger rules. Based on the one or more trigger rules, it was determined that a set of data records were to be displayed, and the data records 202 , 204 were included in the set of data records. In the example of FIG. 2 A , the prominence level of the data records 202 , 204 was set to the first prominence level, discussed above. Consequently, the data records 202 , 204 are displayed in the auxiliary pane 230 .
- the flight that is the subject of the data record 202 is scheduled to depart approximately 5 days from the time/date, at which the search query 208 was submitted. Consequently, it was determined that the time/date associated with the data record exceeds a threshold time, e.g., 24 hours, and the data record 202 is not prominently displayed.
- a threshold time e.g. 24 hours
- the data record 204 can inherit the display prominence of the data record 204 .
- the search query 208 [Generic Airways] was entered by the user and was processed by a search system, e.g., the search system 120 of FIG. 1 , in view of one or more trigger rules. Based on the one or more trigger rules, it was determined that a set of data records were to be displayed, and the data records 202 , 204 were included in the set of data records. Consequently, the data records 202 , 204 are displayed in the search results pane 220 . In the example of FIG. 2 B , the prominence level of the data records 202 , 204 was set to the second prominence level, discussed above.
- the flight that is the subject of the data record 202 is scheduled to depart approximately 22 hours from the time/date, at which the search query 208 was submitted. Consequently, it was determined that the time/date associated with the data record did not exceed the threshold time, e.g., 24 hours, and the data record 202 is prominently displayed.
- the data record 204 can inherit the display prominence of the data record 204 .
- the data record 202 now includes an action element 240 .
- the action element 240 includes a user-selectable, e.g., clickable, button that enables the user to check-in for the flight that is the subject of the data record 202 .
- the user in response to user selection of the action element 240 , the user can navigate to a flight check-in website associated with Generic Airways.
- FIG. 3 is a flowchart of an example process 300 for providing recommended content in search results.
- the process 300 can be provided using one or more computer-executable programs that are executed using one or more computing devices.
- process 300 can be provided, for example, by the example environment 100 of FIG. 1 .
- a search query is received ( 302 ).
- the search query can be received by the search system 120 of FIG. 1 .
- Search results based on the search query are received ( 304 ).
- the search system 120 can receive search results that are responsive to the search query.
- One or more trigger rules are processed based on the search query and/or the search results ( 306 ).
- the search system 120 can process the one or more trigger rules based on the search query and/or the search results, as discussed in detail herein.
- the search system 120 can determine whether a set of data records is to be displayed.
- a set of trigger records can be displayed if at least one trigger rule of the one or more trigger rules triggers display of a set of data records.
- a search results display is generated without the set of data records ( 310 ). If a set of data records is to be displayed, relevant data records are included in the set of data records and a display prominence is determined ( 312 ). For example, the search system 120 can provide the set of data records, e.g., by retrieving relevant data records from the data record system 130 , and can determine the display prominence, as discussed in detail herein.
- a search results display with the set of data records is generated ( 314 ). For example, the search system 120 can generate the search results display.
- the search results display is provided for display ( 316 ). For example, the search system 120 can provide the search results display 111 for display on a user device 106 .
- Implementations of the subject matter and the operations described in this specification can be realized in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be realized using one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
- an artificially-generated propagated signal e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
- a computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them.
- a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal.
- the computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
- the operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
- the term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing
- the apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- the apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them.
- the apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
- a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment.
- a computer program may, but need not, correspond to a file in a file system.
- a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
- a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output.
- the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
- a processor will receive instructions and data from a read-only memory or a random access memory or both.
- Elements of a computer can include a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data.
- a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- a computer need not have such devices.
- a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few.
- Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- a computer can interact with a user by sending documents to and receiving documents from a device that is used
- Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network.
- Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
- LAN local area network
- WAN wide area network
- inter-network e.g., the Internet
- peer-to-peer networks e.g., ad hoc peer-to-peer networks.
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- a server transmits data, e.g., web document, to a client device, e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device.
- Data generated at the client device e.g., a result of the user interaction, can be received from the client device at the server.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Implementations of the present disclosure include actions of receiving search results that are responsive to the search query, the search results being respectively representative of resources, processing one or more triggering rules based on at least one of the search query and the search results, determining, based on processing the one or more triggering rules, that a set of data records is to be displayed in a search results page with the search results, the set of data records including data records that are specific to the user, determining a display prominence of at least one data record in the set of data records, the display prominence indicating a prominence of the at least one data record when displayed in the search results page, and providing the search results and the set of data records for display, the at least one data record being displayed based on the display prominence.
Description
- This specification relates to displaying search results.
- The Internet provides access to a wide variety of resources, such as image files, audio files, video files, and web pages. A search system can identify resources in response to queries submitted by users and provide information about the resources in a manner that is useful to the users. The users then navigate through (e.g., click on) the search results to acquire information of interest to the users.
- Users of search systems are often searching for information regarding a specific entity. For example, users may want to learn about a singer that they just heard on the radio. Conventionally, the user would initiate a search for the singer and select from a list of search results determined to be relevant to the singer.
- Implementations of the present disclosure are generally directed to displaying user-specific data records with search results. More particularly, implementations of the present disclosure are directed to determining that a set of data records is to be displayed with search results, and determining a display prominence of data records.
- In general, innovative aspects of the subject matter described in this specification can be embodied in methods that include actions of receiving a search query, the search query being provided by a user, receiving one or more search results that are responsive to the search query, the one or more search results being respectively representative of one or more resources, processing one or more triggering rules based on at least one of the search query and the search results, determining, based on processing the one or more triggering rules, that a set of data records is to be displayed in a search results page with the search results, the set of data records including one or more data records that are specific to the user, determining a display prominence of at least one data record in the set of data records, the display prominence indicating a prominence of the at least one data record when displayed in the search results page, and providing the search results and the set of data records for display, the at least one data record being displayed based on the display prominence. Other implementations of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
- These and other implementations can each optionally include one or more of the following features: the display prominence indicates a position of the at least one data record within the search results page; the display prominence indicates a visual effect to the at least one data record within the search results page; determining a display prominence includes: determining at least one of a time and a date associated with the at least one data record, and determining the display prominence based on the at least one of a time and a date, and a threshold time; the display prominence is set to a first value in response to a time difference exceeding the threshold time, the time difference being determined based on the at least one of a time and a date, and the display prominence is set to a second value in response to the time difference not exceeding the threshold time; all data records in the set of data records is associated with the display prominence; a triggering rule of the one or more triggering rules triggers display of the set of data records based on whether a knowledge panel is to be displayed in response to the search query; a triggering rule of the one or more triggering rules triggers display of the set of data records based on whether the search results include a personal search result and an electronic document corresponding to the personal search results also corresponds to a data record; a triggering rule of the one or more triggering rules triggers display of the set of data records based on whether a term in the search query matches information provided in data records of a superset of data records that are specific to the user; providing the search results and the set of data records for display includes providing a search results display, the search results display displaying the search results and the set of data records, the at least one data record being displayed within the search results display based on the display prominence.
- Particular implementations of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages. In some examples, given a search query, e.g., keyword, phrase, question, provided to a search system, a user's intent can be determined and user-specific, e.g., personal, search results can be provided, which are relevant to that user. In some examples, an intent of a user in submitting the search query can be determined based on general search results, e.g., public search results that are not specific to the particular user. In this manner, triggering of a display of data records can more accurately reflect an intent of the user.
- Other features, aspects, and advantages of the subject matter will become apparent from following description, drawings, and claims.
-
FIG. 1 is a block diagram of an example environment in which a search system provides search services. -
FIG. 2A andFIG. 2B depict respective example search results displays including data records. -
FIG. 3 is a flowchart of an example process for data records in search results. - Like reference numbers and designations in the various drawings indicate like elements.
-
FIG. 1 is a block diagram of anexample environment 100 in which asearch system 120 provides search services. Theexample environment 100 includes anetwork 102, e.g., a local area network (LAN), wide area network (WAN), the Internet, or a combination thereof, connectsweb sites 104,user devices 106, and thesearch system 120. In some examples, thenetwork 102 can be accessed over a wired and/or a wireless communications link. For example, mobile computing devices, such as smartphones can utilize a cellular network to access the network. Theenvironment 100 may include millions ofweb sites 104 anduser devices 106. - In some examples, a
web site 104 is provided as one ormore resources 105 associated with a domain name and hosted by one or more servers. An example web site is a collection of web pages formatted in an appropriate machine-readable language, e.g., hypertext markup language (HTML), that can contain text, images, multimedia content, and programming elements, e.g., scripts. Eachweb site 104 is maintained by a publisher, e.g., an entity that manages and/or owns the web site. - In some examples, a
resource 105 is data provided over thenetwork 102 and that is associated with a resource address, e.g., a uniform resource locator (URL). In some examples,resources 105 that can be provided by aweb site 104 include web pages, word processing documents, and portable document format (PDF) documents, images, video, and feed sources, among other appropriate digital content. Theresources 105 can include content, e.g., words, phrases, images and sounds and may include embedded information, e.g., meta information and hyperlinks, and/or embedded instructions, e.g., scripts. - In some examples, a
user device 106 is an electronic device that is under control of a user and is capable of requesting and receivingresources 105 over thenetwork 102.Example user devices 106 include personal computers, mobile computing devices, e.g., smartphones and/or tablet computing devices that can send and receive data over thenetwork 102. As used throughout this document, the term mobile computing device (“mobile device”) refers to a user device that is configured to communicate over a mobile communications network. A smartphone, e.g., a phone that is enabled to communicate over the Internet, is an example of a mobile device. Auser device 106 typically includes a user application, e.g., a web browser, to facilitate the sending and receiving of data over thenetwork 102. - In some examples, to facilitate searching of
resources 105, thesearch system 120 identifies theresources 105 by crawling and indexing theresources 105 provided onweb sites 104. Data about theresources 105 can be indexed based on the resource to which the data corresponds. The indexed and, optionally, cached copies of theresources 105 are stored in asearch index 122. - The
user devices 106 submitsearch queries 109 to thesearch system 120. In some examples, auser device 106 can include one or more input modalities. Example modalities can include a keyboard, a touchscreen and/or a microphone. For example, a user can use a keyboard and/or touchscreen to type in a search query. As another example, a user can speak a search query, the user speech being captured through a microphone, and being processed through speech recognition to provide the search query. - In response to receiving a
search query 109, thesearch system 120 accesses thesearch index 122 to identifyresources 105 that are relevant to, e.g., have at least a minimum specified relevance score for, thesearch query 109. Thesearch system 120 identifies theresources 105, generates asearch results display 111 that includessearch results 112 identifyingresources 105, and returns the search results display 111 to theuser devices 106. In an example context, a search results display can include one or more web pages, e.g., one or more search results pages. In some examples, a web page can be provided based on a web document that can be written in any appropriate machine-readable language. It is contemplated, however, that implementations of the present disclosure can include other appropriate display types. For example, the search results can be provided in a display generated by an application that is executed on a computing device, and/or a display generated by an operating system, e.g., mobile operating system. In some examples, search results can be provided based on any appropriate form, e.g., Javascript-html, plaintext. - A
search result 112 is data generated by thesearch system 120 that identifies aresource 105 that is responsive to a particular search query, and includes a link to theresource 105. Anexample search result 112 can include a web page title, a snippet of text or a portion of an image extracted from the web page, and the URL of the web page. In some examples, data provided in thesearch results 112 can be retrieved from a resource data store. For example, thesearch system 120 can provide thesearch results display 111, which displays thesearch results 112. In some examples, thesearch results display 111 can be populated with information, e.g., a web page title, a snippet of text or a portion of an image extracted from the web page, that is provided from the resource data store. - In some examples, data for the
search queries 109 submitted during user sessions are stored in a data store, such as thehistorical data store 124. For example, thesearch system 120 can store received search queries in thehistorical data store 124. - In some examples, selection data specifying actions taken in response to search
results 112 provided in response to eachsearch query 109 are also stored in thehistorical data store 124, for example, by thesearch system 120. These actions can include whether asearch result 112 was selected, e.g., clicked or hovered over with a pointer). The selection data can also include, for each selection of asearch result 112, data identifying thesearch query 109 for which thesearch result 112 was provided. - In accordance with implementations of the present disclosure, the
example environment 100 also includes adata record system 130 communicably coupled to thesearch system 120, e.g., directly coupled or coupled over a network such asnetwork 102. In some examples, thesearch system 120 can interact with thedata record system 130 to provide one or more data records that are specific to the user that submitted thesearch query 109. In some examples, thedata record system 130 can provide data records that can be included within the search results 112 based on data records stored in a data recordsdata store 132. In some examples, the data recordsdata store 132 may include information specific to the user that submitted thesearch query 109. In some examples, the data recordsdata store 132 may include this data for many different users. In some examples, the data recordsdata store 132 may be a dedicated data store specific to the user submitting thesearch query 109. - In some implementations, the
data record system 130 may receive the search query and an identification of the user from thesearch system 120. For example, the user can be logged into a search service that provides thesearch system 120. In response, thedata record system 130 can provide a set of data records to thesearch system 120. In some examples, the set of data records can include one or more data records. - In some implementations, the
data record system 130 can provide the set of data records that can be displayed in the search results display 111. In some examples, a display prominence of the one or more data records within the search results display 111 is determined. In some examples, thesearch system 120 determines the display prominence. In some examples, thedata record system 130 determines the display prominence. In some examples, the display prominence can include a position of each data record within the search results display 111 and/or visual effects that can be added to data records within the search results display 111. For example, a data record can be displayed at a top portion of the search results display 111, e.g., above search results, such that the data record is prominently displayed to the user. As another example, the data record can be displayed on a side portion, e.g., left-hand-side, right-hand-side, of the search results display, such that the data record is less prominently displayed to the user, e.g., relative to if the data record had been displayed in the top portion. - In some examples, the
search system 120 generates asearch result display 111 based on the retrieved digital content. In this manner, the search results 112, e.g., provided in the search results display 111, can be tailored to the user that submitted thesearch query 109. - In some examples, a data record can be specific to a user and can be generated based on one or more electronic documents associated with the user. For example, an electronic document can include data that can be used to populate a data record. Example electronic documents can include electronic mail messages, instant messages (IMs), short message system (SMS) messages, social networking posts, word processing documents, images, e.g., image recognition, optical character recognition, barcodes, electronic calendar items, electronic meeting invitations, audio transcripts, or other appropriate sources of information.
- In some examples, an electronic document can be associated with a category. Example categories can include travel, e.g., travel reservations, lodging, e.g., hotel reservations, commerce, e.g., product purchases, events, e.g., theater performances, movies, concerts, sporting events, and restaurants, e.g., restaurant reservation. In some examples, the electronic document can convey a booking confirmation, travel itinerary, hotel reservation confirmation, shipment notification, order tracking update, purchase receipt, restaurant reservation confirmation, or other appropriate forms of data. In some examples, a category of an electronic document can be determined based on an identifier and/or data provided in the electronic document.
- In some examples, a data record can be specific to a category, and fields in the plurality of fields can be relevant to the category. For example, the data record can be specific to the flight reservation category and can include category-specific data fields, e.g., confirmation number, flight number, departure airport, arrival airport, departure date/time, arrival date/time. As another example, the data record can be specific to the hotel reservation category and can include category-specific data fields, e.g., reservation number, check-in date, check-out date, room rate, room type. As another example, the data record can be specific to the purchases category and can include category-specific data fields, e.g., product name, product identifier, quantity, cost, estimated shipping date, actual shipping date, tracking number.
- The data record, once populated, is stored in a data repository, e.g., the data records
data store 132. In some implementations, the data repository can include one or more tables in one or more databases, one or more flat files, or combinations of these and any other appropriate format for the storage and retrieval of information such as data records. - Implementations of the present disclosure are generally directed to determining whether to display one or more data records in search results, and determining a display prominence associated with each data record. In some implementations, and as discussed in further detail herein, one or more triggering rules are provided, the triggering rules being processed to determine whether one or more data records are to be displayed. In some examples, a search query and one or more data records can be processed to determine the display prominence of one or more data records that are to be displayed. In some examples, additional data can also be processed to determine the display prominence.
- Implementations of the present disclosure are discussed in further detail herein with reference to an example context. The example context includes data records associated with the flight reservation category. It is contemplated, however, that implementations of the present disclosure can be provided in other contexts. For example, implementations of the present disclosure can be provided with data records associated with travel, e.g., the flight reservation category, lodging, e.g., hotel reservations, commerce, e.g., product purchases, events, e.g., theater performances, movies, concerts, sporting events, and restaurants, e.g., restaurant reservations.
- User information, e.g., information about a user's social network, social actions or activities, profession, a user's preferences, a user's current location, is collected or used by systems subject to user consent. Users are given an opportunity to consent to whether the user information is collected. Users can select whether and/or how to receive content that may be more relevant to the user. In addition, certain data may be treated in one or more ways before it is stored or used, so that it is anonymized, so that personally identifiable information is removed, and/or so that it is encrypted.
- In accordance with implementations of the present disclosure, a user can submit a search query to a search service, e.g., the
search query 109 submitted to thesearch system 120. In some examples, the search query and a superset of data records are processed to determine whether a set of data records is to be displayed. In some examples, the superset of data records includes data records that are specific to the user that submitted the search query. In some examples, the set of data records is a sub-set of the superset of data records. In some examples, the set of data records includes one or more data records. In some examples, the superset of data records includes data records that are specific to a user, e.g., the user that submitted the search query. - In some examples, data records of the superset of data records can be determined to be relevant to the search query. If, for example, a data record is determined to be relevant to the search query, the data record is included in the set of data records. With reference to the example context, an example search query can include [flights]. In such an example, a user intent may not be clear, e.g., an intent to retrieve user-specific search results, or an intent to retrieve general search results. In some examples, the example search query can be more specific, e.g., [flight from san francisco to austin], [generic airways flight]. In such an example, a user intent may be clear, e.g., an intent to retrieve user-specific search results. In response to the search query, data records that are relevant to flight reservations made by the user can be provided in the set of data records.
- In accordance with implementations of the present disclosure, whether a data record is relevant to a search query can be determined based on the one or more triggering rules. In some examples, a triggering rule defines a set of conditions where, if each condition is true, one or more data records from the superset of data records are included in the set of data records that are to be displayed. In some examples, the set of conditions can include one or more conditions. Example triggering rules are discussed in further detail below with reference to the example context. It is contemplated that example triggering rules can be applicable in other contexts.
- An example triggering rule can trigger display of a set of data records based on whether a knowledge panel is to be displayed in response to the search query. In some examples, a knowledge panel system can process the search query and can determine whether a knowledge panel is to be displayed. In some examples, the knowledge panel system can provide a signal to the search system and/or the data record system, the signal indicating that a knowledge panel is to be displayed.
- In some examples, a knowledge panel can be provided for queries that have been determined to reference a particular entity, such as a person, place, country, landmark, animal, historical event, organization, business, sports team, sporting event, movie, song, album, game, work of art, or any other appropriate entity. For example, one or more topics can be determined from the submitted search query, and it can be determined that the one or more topics correspond to a topic, for which a knowledge panel is available. In response, the knowledge panel can be triggered for display.
- In general, a knowledge panel for a particular entity can include content related to the particular entity. In some implementations, a knowledge panel includes a set of factual information deemed relevant to the particular entity. As one example, the example search query [AUS flights] can result in a knowledge panel being displayed in the search results. In this example, the knowledge panel can include content reflecting airline flights to and/or from Austin, TX, e.g., departure cities, arrival cities, flight durations, airlines.
- The example triggering rule can provide that, if a knowledge panel is to be displayed in response to the search query, and if information that is to be displayed in the knowledge panel corresponds to data provided in data records of the superset of data records, then a set of data records is to be displayed. Continuing with the example context, the example search query [Austin flights] can be received. In some examples, additional terms can be provided. For example, the International Air Transport Association (IATA) airport code for Austin-Bergstrom International Airport can be provided, which is AUS. It can be determined that a knowledge panel is to be displayed. For example, a signal can be received, the signal indicating that a knowledge panel is to be displayed. In response to determining that a knowledge panel is to be displayed, information can be compared to information provided in data records of the superset of data records. In the example context, the IATA code AUS can be compared to departure city and/or arrival city information provided in data records. In this example, if the IATA code AUS is provided in a data record, the data record is included in the set of data records to be displayed with the search results.
- Another example triggering rule can trigger display of a set of data records based on whether a term in the search query matches information provided in data records of the superset of data records. In some examples, a term in the search query is determined to match information, if the match is an exact match. Continuing with the example context, the example search query [AUS flights] can be received. The search term AUS can be compared to IATA airport codes provided in data records. If a data record includes the IATA airport code AUS, e.g., as departure airport, as arrival airport, the data record is included in the set of data records to be displayed.
- Another example triggering rule can trigger display of a set of data records based on search results that are to be provided in response to the search query. In some examples, if information associated with one or more search results corresponds to data provided in data records of the superset of data records, then a set of data records is to be displayed. Continuing with the example context, the example search query [Generic Airways] can be received, where “Generic Airways” is provided as a fictitious airline. Search results responsive to the example search query can be received. In some examples, it can be determined that a website associated with Generic Airways is provided in the search results, e.g., the official website for Generic Airways. In response, an IATA airline code for Generic Airways, e.g., GW, can be provided and can be compared to IATA airline codes in data records of the superset of data records. If a data record includes the IATA airline code GA, the data record is included in the set of data records to be displayed.
- Continuing with the example context, another example triggering rule can trigger display of a set of data records based on whether the search query includes a flight number that corresponds to flight information provided in data records of the superset of data records. In some examples, if at least one of a flight number and an IATA airline code of the search query correspond to a data record, the data record is included in the set of data records that are to be displayed. In some examples, if both the flight number and the IATA airline code of the search query correspond to a data record, the data record is included in the set of data records that are to be displayed. The example search query [GA 432] can be received. The search terms GA and 432 can be respectively compared to flight numbers and/or IATA airline codes provided in data records.
- Another example triggering rule can trigger display of a set of data records based on whether the search query and/or search results that are responsive to the search query are related to a category of the data records, whether search results that are responsive to the search query correspond to information provided in data records, and whether a knowledge panel is to be displayed. For example, the example triggering rule can provide that, if the search query and/or the search results are related to a category of data records, if the search results correspond to information provided in data records, and if a knowledge panel is not to be displayed, then a set of data records are to be displayed. In this manner, it can be implicitly determined whether the display of data records would be beneficial to the user based on the received search query and the search results that are responsive to the search query.
- In some examples, the search query can be processed and one or more categories associated with the search query can be identified. If a category of the one or more categories matches a category of data records, discussed above, it can be determined that the search query is related to a category of the data records. In some examples, the search results that are to be displayed in response to the search query can be processed and one or more categories associated with the search results can be identified. If a category of the one or more categories matches a category of data records, discussed above, it can be determined that the search query is related to a category of the data records.
- In some examples, each search result can have one or more categories associated therewith. For example, a website of an airline can be associated with the flight category. Consequently, a search result corresponding to the website can be vicariously associated with the flight category. In some examples, category levels can be provided as primary categories, secondary categories, or tertiary categories. In some examples, each category level can be assigned a respective value, e.g., 2, 1, 0, respectively. In some examples, category levels of the search results can be summed to provide a total category level for the search results as a whole. As noted above, search results can be associated with one or more categories. Consequently, respective one or more total category levels can be provided.
- In some examples, each total category level can be compared to a threshold category level to determine whether the search results, as a whole, correspond to the particular category. In some examples, if the category level exceeds the threshold category level, the search results, as a whole, are determined to be associated with the particular category.
- In some examples, whether search results correspond to information provided in data records can be determined based on one or more locations associated with individual search results. In some examples, a search result can be associated with a location. In some examples, the location can be provided as a city, e.g., Austin. In some examples, the location can be provided as coordinates, e.g., latitude and longitude. In some examples, search results having a location that is determined to be proximate to a location, from which the user submitted the search query are ignored. For example, the user can be located in San Francisco and can submit the example search query [hiking trip to texas hill country]. Example search results that are responsive to the search query can include search results associated with locations near central Texas, e.g., Texas hill country, as discussed below. In some examples, search results can also include search results associated with locations near San Francisco, e.g., a retailer that sells hiking equipment. In this example, the example triggering rule ignores search results that are proximate to the location, from which the user submitted the search query.
- In some examples, a location score can be determined for each location based on proximity to another location. In some examples, the location can be determined based on a category that the search results are determined to correspond to, as discussed above. For example, if the search results are determined to correspond to the flight category, the location can include an airport. If, the location score exceeds a threshold score relative to another location that is in data records of the superset of data records, the search result can be determined to correspond to information provided in the data records. In some examples, the search results, as a whole, are determined to correspond to information provided in the data records, if the number of search results that correspond to information provided in data records exceeds a threshold number of search results.
- Continuing with the example context, the example search query [hiking trip to texas hill country] can be received, and search results can be provided. In some examples, the search results can be associated with hiking trails, parks, recreational facilities and/or outdoor equipment retailers that are associated with the Texas hill country. One or more search results can be associated with a location, e.g., a city in which an outdoor equipment retailer is located, a city in which and/or coordinates at which a hiking trail is located. A location of an airport, e.g., AUS, can be determined and can be compared to locations associated with the search results to provide respective location scores. In some examples, the airport is provided as an arrival airport, e.g., destination airport, that is provided in the data records.
- In some examples, a location scoring service can process location information to provide the location scores. In some examples, the location scores can be determined based on a distance between the airport, e.g., AUS, and the locations of the search results. In some examples, a location that is near to the airport can have a higher score than a location that is further from the airport. In some examples, a location score can range between a minimum value, e.g., 0, and a maximum value, e.g., 1. In some examples, if a distance between a location associated with a search result and the airport exceeds a first threshold difference, e.g., 100 miles, the location score for the search result is set equal to the minimum value. In some examples, if a distance between a location associated with a search result and the airport is below a second threshold difference, e.g., 10 miles, the location score for the search result is set equal to the maximum value.
- Continuing with the example above, the example search query [hiking trip to texas hill country] can be received, and five example search results can be provided that are responsive to the search query. The five example search results can include a first retailer located 8 miles from AUS, a second retailer located 40 miles from AUS, a first recreational area located 70 miles from AUS, a second recreational area located 110 miles from AUS, and a hiking trail located 50 miles from AUS. Respective location scores can be provided for each of the example search results. For example, a first location score associated with the first retailer can be equal to a maximum value, e.g., 1, a second location score associated with the second retailer can be equal to a value that is between the minimum value and the maximum value, a third location score associated with the first recreational area can be equal to a value that is between the minimum value and the maximum value, a fourth location score associated with the second recreational area can be equal to the minimum value, e.g., 0, and a fifth location score associated with the hiking trail can be equal to a value that is between the minimum value and the maximum value.
- As discussed above, each location score can be compared to a threshold score to determine whether the respective search result corresponds to information provided in the superset of data records. More particularly, if, the location score associated with a search result exceeds the threshold score, the search result is determined to correspond to information provided in the data records. If, the location score associated with a search result does not exceed the threshold score, the search result is determined not to correspond to information provided in the data records. Continuing with the example above, it can be determined that the first location score, the second location score, the third location score and the fifth location score each exceed the threshold score. Consequently, the respective search results are determined to correspond to information provided in the data records.
- As discussed above, it can be determined whether the search results, as a whole, correspond to information provided in the data records. More specifically, if the number of search results that correspond to information provided in data records exceeds a threshold number of search results, it is determined that the search results, as a whole, correspond to information provided in the data records. Continuing with the example above, an example threshold number of search results can be provided as three. Because, in the example, it was determined that the first location score, the second location score, the third location score and the fifth location score each exceed the threshold score, the number of search results that correspond to information provided in data records is equal to four. Consequently, the number of search results exceeds the threshold number of search results, and it is determined that the search results, as a whole, correspond to information provided in the data records, and a set of data records is provided to be displayed in the search results.
- Another example trigger rule can trigger display of a set of data records based on whether one or more search terms of the search query exactly match one or more trigger keywords. In some examples, the one or more trigger keywords can be provided for respective categories. In the example context, example trigger keywords can include “flight,” “flights,” “my flight,” “my flights” “confirmation,” and “booking.” In some examples, if the search query includes a trigger keyword, a set of data records is to be displayed with the search results.
- In some implementations, the search results can include personal search results. In some examples, a personal search result can include user-specific content that is specific to the user that submitted the search query, and that is responsive to the search query. In some examples, user-generated content can include content that is generated using one or more computer-implemented services. Example computer-implemented services can include a social networking service, an electronic messaging service, a chat service, a micro-blogging service, a blogging service and a digital content sharing service. In some examples, the user-generated content can include content that is provided in electronic messages, chat sessions, posts to social networking services, content posted to sharing services, e.g., photo sharing services, and/or content posted to a blogging service.
- In accordance with implementations of the present disclosure, user-specific content can be provided in an electronic document that was used to generate one or more data records, as discussed above. Continuing with the example context, an electronic document can include a confirmation message sent from an airline to the user, confirming a flight that the user booked. In some examples, a data record for the flight can be provided based on the electronic document.
- In view of this, another example triggering rule can trigger display of a set of data records based on whether the search results include personal search results, and a personal search result corresponds to user-specific content that was used to provide a data record. For example, search results can include a personal search result that is representative of an electronic document. It can be determined that a data record in the superset of data records was generated based on the electronic document. Consequently, the data record can be included in a set of data records that are to be displayed with the search results.
- As discussed above, one or more trigger rules can trigger display of a set of data records with search results, the set of data records including one or more data records. In some examples, a threshold number of data records can be displayed. For example, it can be determined that X data records could be displayed with the search results, but a threshold number of data records can include Y data records, wherein Y is less than X. Consequently, only Y data records of the X data records are provided in the set of data records that are to be displayed. In some examples, data records that are included in the set of data records can be selected based on time. For example, data records can be provided in chronological order, e.g., based on departure date and time, and the first Y data records are included in the set of data records. In some examples, the data records in the set of data records can be displayed in the chronological order.
- In accordance with implementations of the present disclosure, after it is determined that one or more data records are to be displayed, a display prominence of each data record of the set of data records is determined. In some examples, every data record in the set of data records is assigned the same display prominence. In some examples, each data record in the set of data records has a data record-specific display prominence. As introduced above, the display can include a position of each data record within the search results display and/or visual effects that can be added to data records within the search results display. For example, a data record can be displayed at a top portion of the search results display, e.g., above search results, such that the data record is prominently displayed to the user. As another example, the data record can be displayed on a side portion, e.g., left-hand-side, right-hand-side, of the search results display, such that the data record is less prominently displayed to the user, e.g., relative to if the data record had been displayed in the top portion. In some examples, visual effects can include highlighting, bolding, animating and/or any other appropriate visual effect that can draw a user's attention to data records within the search results display.
- In some implementations, the display prominence is determined based on one or more times and/or dates associated with a respective data record. Example times and/or dates can include departure time/date of a flight, time/date for check-in at a hotel, and time/date of an event. In the example context, the time and/or date is provided as the departure time/date of a flight. In some examples, if the time/date associated with a data record exceeds a threshold time, e.g., provided in seconds, minutes, hours, and/or days, the display prominence is provided as a first value, e.g., 0, indicating that the respective data record is not to be prominently displayed, e.g., displayed on a side portion of the search results display and/or without visual effects. In some examples, if the time/date associated with a data record does not exceed the threshold time, the display prominence is provided as a second value, e.g., 1, indicating that the respective data record is to be displayed prominently, e.g., on a top portion of the search results display and/or with visual effects.
-
FIGS. 2A and 2B depict respective example search results displays 200 a, 200 b includingdata records FIGS. 2A and 2B , the search results displays 200 a, 200 b are provided as web pages, e.g., search results pages. Implementations of the present disclosure, however, can include other appropriate displays. -
FIG. 2A depicts the example search results display 200 a including thedata records search box 206. In some implementations, thesearch box 206 may be a text box specified using an appropriate machine-readable language, e.g., HTML. In implementations, thesearch box 206 may be a custom component specified by another suitable web development language such as Javascript. The illustratedsearch box 206 includes asearch query 208. In the depicted example, the search query includes [Generic Airways], which is the name of a fictitious airline, as discussed above. In some examples, thesearch query 208 may be entered by a user. In some examples, thesearch query 208 may be programmatically received through an application programmer interface (API) or other suitable means. The illustratedsearch box 206 is also associated with a search button 210. In some examples, a user may perform a search on thesearch query 208 by activating, e.g., clicking on, the search button 210. This activation may be performed by any appropriate mechanism such as clicking the search button 210 with a pointing device (e.g., a mouse) or pressing a key or combination of keys on a keyboard. In some examples, thesearch query 208 can be automatically submitted as it is being entered. - The illustrated search results display 200 a also includes
first user information 212. In the illustrated example, thefirst user information 212 indicates that the user “john.searcher@mail.com” is currently logged in. In accordance with implementations of the present disclosure, data records provided within search results will be specific to the user john.searcher@mail.com. In some implementations, the search results display 200 a might not include an indication of the current user, but thesearch query 208 may still be processed according to the current user. - The illustrated search results display 200 a also includes a search results
pane 220 including one ormore search results pane 220 is a frame segregating the search results from other panes of the search results display 200 a. In some implementations, the search resultspane 220 is provided as a consecutive list of search results. The illustrated search results display 200 a includes anauxiliary pane 230. The data records 202, 204 are displayed within theauxiliary pane 230. - In the example of
FIG. 2A , the search query 208 [Generic Airways] was entered by the user and was processed by a search system, e.g., thesearch system 120 ofFIG. 1 , in view of one or more trigger rules. Based on the one or more trigger rules, it was determined that a set of data records were to be displayed, and thedata records FIG. 2A , the prominence level of thedata records data records auxiliary pane 230. For example, the flight that is the subject of thedata record 202 is scheduled to depart approximately 5 days from the time/date, at which thesearch query 208 was submitted. Consequently, it was determined that the time/date associated with the data record exceeds a threshold time, e.g., 24 hours, and thedata record 202 is not prominently displayed. In this example, thedata record 204 can inherit the display prominence of thedata record 204. - In the example of
FIG. 2B , the search query 208 [Generic Airways] was entered by the user and was processed by a search system, e.g., thesearch system 120 ofFIG. 1 , in view of one or more trigger rules. Based on the one or more trigger rules, it was determined that a set of data records were to be displayed, and thedata records data records pane 220. In the example ofFIG. 2B , the prominence level of thedata records data record 202 is scheduled to depart approximately 22 hours from the time/date, at which thesearch query 208 was submitted. Consequently, it was determined that the time/date associated with the data record did not exceed the threshold time, e.g., 24 hours, and thedata record 202 is prominently displayed. In this example, thedata record 204 can inherit the display prominence of thedata record 204. Further, thedata record 202 now includes anaction element 240. In this example, theaction element 240 includes a user-selectable, e.g., clickable, button that enables the user to check-in for the flight that is the subject of thedata record 202. For example, in response to user selection of theaction element 240, the user can navigate to a flight check-in website associated with Generic Airways. -
FIG. 3 is a flowchart of anexample process 300 for providing recommended content in search results. In some examples, theprocess 300 can be provided using one or more computer-executable programs that are executed using one or more computing devices. For example,process 300 can be provided, for example, by theexample environment 100 ofFIG. 1 . - A search query is received (302). For example, the search query can be received by the
search system 120 ofFIG. 1 . Search results based on the search query are received (304). For example, thesearch system 120 can receive search results that are responsive to the search query. One or more trigger rules are processed based on the search query and/or the search results (306). For example, thesearch system 120 can process the one or more trigger rules based on the search query and/or the search results, as discussed in detail herein. It is determined whether a set of data records is to be displayed (308) with the search results. For example, thesearch system 120 can determine whether a set of data records is to be displayed. As discussed above, a set of trigger records can be displayed if at least one trigger rule of the one or more trigger rules triggers display of a set of data records. - If a set of data records is not to be displayed, a search results display is generated without the set of data records (310). If a set of data records is to be displayed, relevant data records are included in the set of data records and a display prominence is determined (312). For example, the
search system 120 can provide the set of data records, e.g., by retrieving relevant data records from thedata record system 130, and can determine the display prominence, as discussed in detail herein. A search results display with the set of data records is generated (314). For example, thesearch system 120 can generate the search results display. The search results display is provided for display (316). For example, thesearch system 120 can provide the search results display 111 for display on auser device 106. - Implementations of the subject matter and the operations described in this specification can be realized in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be realized using one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
- The operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
- The term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
- A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer can include a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- To provide for interaction with a user, implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
- Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
- The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some implementations, a server transmits data, e.g., web document, to a client device, e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device. Data generated at the client device, e.g., a result of the user interaction, can be received from the client device at the server.
- While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any implementation of the present disclosure or of what may be claimed, but rather as descriptions of features specific to example implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.
- Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
- Thus, particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
Claims (15)
1. A method implemented by one or more processors, the method comprising:
receiving a search query, the search query being provided by a user;
determining, based on the search query, a plurality of results to be displayed responsive to provision of the search query;
determining whether information, included in a given result of the results, corresponds to any of multiple user-specific data records,
wherein the user-specific data records comprise one or more user-specific data records that are specific to the user that provided the search query,
wherein each of the user-specific data records specifies a corresponding event made by the user and a corresponding event date for the event, and
wherein the information, included in the given result of the results, is in addition to the search query;
in response to determining that the information, that is included in the given result of the results and that is in addition to the search query, corresponds to a given user-specific data record of the multiple user-specific data records:
providing the results and the given user-specific data record for display responsive to the search query,
wherein providing the given user-specific data record for display comprises providing the corresponding event date of the given user-specific data record for display and providing additional content of the given user-specific data record for display.
2. The method of claim 1 , wherein providing the results and the given user-specific data record for display responsive to the search query comprises:
providing a results display that displays the given user-specific data record positionally above the results.
3. The method of claim 2 , wherein the given user-specific data records and the results are both displayed in a same results pane of the display.
4. The method of claim 1 , further comprising:
in response to determining that the information, that is included in the given result of the results and that is in addition to the search query, corresponds to an additional given user-specific data record of the multiple user-specific data records:
providing additional given user-specific data record for display responsive to the search query,
wherein providing the additional given user-specific data record for display comprises providing the corresponding event date for the additional given user-specific data record for display and providing further additional content of the additional given user-specific data record for display.
5. The method of claim 4 , further comprising:
determining to display the given user-specific data record positionally above the additional given user-specific data record;
wherein providing the given user-specific data record and the additional given user-specific data record for display comprises, in response to determining to display the given user-specific data record positionally above the additional given user-specific data record:
providing a results display that displays the given user-specific data record positionally above the additional given user-specific data record.
6. The method of claim 5 , wherein providing the results, the given user-specific data record, and the additional given user-specific data record for display responsive to the search query comprises:
providing, in the results display, the given user-specific data record and the additional given user-specific data record positionally above the results.
7. The method of claim 1 , wherein the corresponding event of the given user-specific data record is a product purchase.
8. A system comprising:
a data store that stores multiple user-specific data records that are specific to a user,
wherein each of the user-specific data records specifies a corresponding event made by the user and a corresponding event date for the event; and
one or more processors configured to interact with the data store, the one or more processors being further configured to perform operations comprising:
receiving a search query, the search query being provided by the user;
determining, based on the search query, a plurality of results to be displayed responsive to provision of the search query;
determining whether information, included in a given result of the results, corresponds to any of the user-specific data records that are specific to the user,
wherein the information, included in the given result of the results, is in addition to the search query;
in response to determining that the information, that is included in the given result of the results and that is in addition to the search query, corresponds to a given user-specific data record of the multiple user-specific data records:
providing the results and the given user-specific data record for display responsive to the search query,
wherein providing the given user-specific data record for display comprises providing the corresponding event date of the given user-specific data record for display and providing additional content of the given user-specific data record for display.
9. The system of claim 8 , wherein providing the results and the given user-specific data record for display responsive to the search query comprises:
providing a results display that displays the given user-specific data record positionally above the results.
10. The system of claim 9 , wherein the given user-specific data records and the results are both displayed in a same results pane of the display.
11. The system of claim 8 , wherein the operations that the one or more processors are further configured to perform further comprise:
in response to determining that the information, that is included in the given result of the results and that is in addition to the search query, corresponds to an additional given user-specific data record of the multiple user-specific data records:
providing additional given user-specific data record for display responsive to the search query,
wherein providing the additional given user-specific data record for display comprises providing the corresponding event date for the additional given user-specific data record for display and providing further additional content of the additional given user-specific data record for display.
12. The system of claim 11 , wherein the operations that the one or more processors are further configured to perform further comprise:
determining to display the given user-specific data record positionally above the additional given user-specific data record;
wherein providing the given user-specific data record and the additional given user-specific data record for display comprises, in response to determining to display the given user-specific data record positionally above the additional given user-specific data record:
providing a results display that displays the given user-specific data record positionally above the additional given user-specific data record.
13. The system of claim 12 , wherein providing the results, the given user-specific data record, and the additional given user-specific data record for display responsive to the search query comprises:
providing, in the results display, the given user-specific data record and the additional given user-specific data record positionally above the results.
14. The system of claim 8 , wherein the corresponding event of the given user-specific data record is a product purchase.
15. A non-transitory computer storage medium encoded with a computer program, the program comprising instruction that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
receiving a search query, the search query being provided by a user;
determining, based on the search query, a plurality of results to be displayed responsive to provision of the search query;
determining whether information, included in a given result of the results, corresponds to any of multiple user-specific data records,
wherein the user-specific data records comprise one or more user-specific data records that are specific to the user that provided the search query,
wherein each of the user-specific data records specifies a corresponding event made by the user and a corresponding event date for the event, and
wherein the information, included in the given result of the results, is in addition to the search query;
in response to determining that the information, that is included in the given result of the results and that is in addition to the search query, corresponds to a given user-specific data record of the multiple user-specific data records:
providing the results and the given user-specific data record for display responsive to the search query,
wherein providing the given user-specific data record for display comprises providing the corresponding event date of the given user-specific data record for display and providing additional content of the given user-specific data record for display.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/377,662 US20240037162A1 (en) | 2013-08-02 | 2023-10-06 | Surfacing user-specific data records in search |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361861634P | 2013-08-02 | 2013-08-02 | |
US14/096,183 US9715548B2 (en) | 2013-08-02 | 2013-12-04 | Surfacing user-specific data records in search |
US15/627,781 US10162903B2 (en) | 2013-08-02 | 2017-06-20 | Surfacing user-specific data records in search |
US16/229,314 US10740422B2 (en) | 2013-08-02 | 2018-12-21 | Surfacing user-specific data records in search |
US16/918,751 US11809503B2 (en) | 2013-08-02 | 2020-07-01 | Surfacing user-specific data records in search |
US18/377,662 US20240037162A1 (en) | 2013-08-02 | 2023-10-06 | Surfacing user-specific data records in search |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/918,751 Continuation US11809503B2 (en) | 2013-08-02 | 2020-07-01 | Surfacing user-specific data records in search |
Publications (1)
Publication Number | Publication Date |
---|---|
US20240037162A1 true US20240037162A1 (en) | 2024-02-01 |
Family
ID=52428654
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/096,183 Expired - Fee Related US9715548B2 (en) | 2013-08-02 | 2013-12-04 | Surfacing user-specific data records in search |
US15/627,781 Active US10162903B2 (en) | 2013-08-02 | 2017-06-20 | Surfacing user-specific data records in search |
US16/229,314 Active US10740422B2 (en) | 2013-08-02 | 2018-12-21 | Surfacing user-specific data records in search |
US16/918,751 Active 2035-04-30 US11809503B2 (en) | 2013-08-02 | 2020-07-01 | Surfacing user-specific data records in search |
US18/377,662 Pending US20240037162A1 (en) | 2013-08-02 | 2023-10-06 | Surfacing user-specific data records in search |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/096,183 Expired - Fee Related US9715548B2 (en) | 2013-08-02 | 2013-12-04 | Surfacing user-specific data records in search |
US15/627,781 Active US10162903B2 (en) | 2013-08-02 | 2017-06-20 | Surfacing user-specific data records in search |
US16/229,314 Active US10740422B2 (en) | 2013-08-02 | 2018-12-21 | Surfacing user-specific data records in search |
US16/918,751 Active 2035-04-30 US11809503B2 (en) | 2013-08-02 | 2020-07-01 | Surfacing user-specific data records in search |
Country Status (4)
Country | Link |
---|---|
US (5) | US9715548B2 (en) |
EP (1) | EP3028138A4 (en) |
CN (1) | CN105706046B (en) |
WO (1) | WO2015017051A2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9772999B2 (en) * | 2011-10-24 | 2017-09-26 | Imagescan, Inc. | Apparatus and method for displaying multiple display panels with a progressive relationship using cognitive pattern recognition |
US10289961B2 (en) * | 2014-11-24 | 2019-05-14 | International Business Machines Corporation | Presenting anticipated user search query results prompted by a trigger |
US20160147413A1 (en) * | 2014-11-24 | 2016-05-26 | Facebook, Inc. | Check-in Additions |
US10503377B2 (en) | 2014-11-24 | 2019-12-10 | Facebook, Inc. | Dynamic status indicator |
US10863354B2 (en) | 2014-11-24 | 2020-12-08 | Facebook, Inc. | Automated check-ins |
US10397346B2 (en) | 2014-11-24 | 2019-08-27 | Facebook, Inc. | Prefetching places |
JP6784085B2 (en) * | 2016-07-27 | 2020-11-11 | 富士通株式会社 | Setting control program, setting control method, and setting control device |
US10824630B2 (en) | 2016-10-26 | 2020-11-03 | Google Llc | Search and retrieval of structured information cards |
US10318593B2 (en) * | 2017-06-21 | 2019-06-11 | Accenture Global Solutions Limited | Extracting searchable information from a digitized document |
US11093640B2 (en) | 2018-04-12 | 2021-08-17 | International Business Machines Corporation | Augmenting datasets with selected de-identified data records |
US10770171B2 (en) | 2018-04-12 | 2020-09-08 | International Business Machines Corporation | Augmenting datasets using de-identified data and selected authorized records |
Family Cites Families (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181438B1 (en) | 1999-07-21 | 2007-02-20 | Alberti Anemometer, Llc | Database access system |
US6636242B2 (en) * | 1999-08-31 | 2003-10-21 | Accenture Llp | View configurer in a presentation services patterns environment |
US20020107847A1 (en) * | 2000-10-10 | 2002-08-08 | Johnson Carl E. | Method and system for visual internet search engine |
US8571885B2 (en) | 2000-12-29 | 2013-10-29 | William T. Andros | Method and system for information retrieval and transfer |
US7730063B2 (en) * | 2002-12-10 | 2010-06-01 | Asset Trust, Inc. | Personalized medicine service |
US7162473B2 (en) * | 2003-06-26 | 2007-01-09 | Microsoft Corporation | Method and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users |
US7225187B2 (en) * | 2003-06-26 | 2007-05-29 | Microsoft Corporation | Systems and methods for performing background queries from content and activity |
US7526768B2 (en) * | 2004-02-04 | 2009-04-28 | Microsoft Corporation | Cross-pollination of multiple sync sources |
US7664734B2 (en) | 2004-03-31 | 2010-02-16 | Google Inc. | Systems and methods for generating multiple implicit search queries |
US20080040315A1 (en) * | 2004-03-31 | 2008-02-14 | Auerbach David B | Systems and methods for generating a user interface |
US8090698B2 (en) | 2004-05-07 | 2012-01-03 | Ebay Inc. | Method and system to facilitate a search of an information resource |
US8156116B2 (en) * | 2006-07-31 | 2012-04-10 | Ricoh Co., Ltd | Dynamic presentation of targeted information in a mixed media reality recognition system |
US20140236978A1 (en) * | 2004-12-03 | 2014-08-21 | Google Inc. | Publishing techniques for adding value to a rendered document |
US7577651B2 (en) * | 2005-04-28 | 2009-08-18 | Yahoo! Inc. | System and method for providing temporal search results in response to a search query |
US20070061712A1 (en) * | 2005-09-14 | 2007-03-15 | Bodin William K | Management and rendering of calendar data |
CN100492362C (en) * | 2006-02-08 | 2009-05-27 | 腾讯科技(深圳)有限公司 | Knowledge searching method and system based on instant communication |
US20080189273A1 (en) * | 2006-06-07 | 2008-08-07 | Digital Mandate, Llc | System and method for utilizing advanced search and highlighting techniques for isolating subsets of relevant content data |
US20100257160A1 (en) * | 2006-06-07 | 2010-10-07 | Yu Cao | Methods & apparatus for searching with awareness of different types of information |
US8364669B1 (en) * | 2006-07-21 | 2013-01-29 | Aol Inc. | Popularity of content items |
US9318108B2 (en) * | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8271429B2 (en) * | 2006-09-11 | 2012-09-18 | Wiredset Llc | System and method for collecting and processing data |
WO2008034213A1 (en) * | 2006-09-18 | 2008-03-27 | Infobright Inc. | A method and system for data compression in a relational database |
US20080201227A1 (en) * | 2006-11-07 | 2008-08-21 | Lucia Urban Bakewell | Interactive, Internet-based, trip planning, travel resource, travel community, virtual travel, travel-based education, travel-related gaming and virtual/live tour system, methods, and processes, emphasizing a user's ability to tailor complete travel, trip, route, game and touring choices to unique user-specified personal interests, preferences, and special requirements for self and companions |
US9477969B2 (en) * | 2006-12-12 | 2016-10-25 | Yahoo! Inc. | Automatic feed creation for non-feed enabled information objects |
US8166026B1 (en) | 2006-12-26 | 2012-04-24 | uAffect.org LLC | User-centric, user-weighted method and apparatus for improving relevance and analysis of information sharing and searching |
CN101004737A (en) * | 2007-01-24 | 2007-07-25 | 贵阳易特软件有限公司 | Individualized document processing system based on keywords |
US7693902B2 (en) * | 2007-05-02 | 2010-04-06 | Yahoo! Inc. | Enabling clustered search processing via text messaging |
US7899777B2 (en) * | 2007-09-27 | 2011-03-01 | Rockwell Automation Technologies, Inc. | Web-based visualization mash-ups for industrial automation |
US7856434B2 (en) * | 2007-11-12 | 2010-12-21 | Endeca Technologies, Inc. | System and method for filtering rules for manipulating search results in a hierarchical search and navigation system |
US20100241663A1 (en) * | 2008-02-07 | 2010-09-23 | Microsoft Corporation | Providing content items selected based on context |
US20090287701A1 (en) * | 2008-05-14 | 2009-11-19 | Orbitz Worldwide, L.L.C. | System and Method for Receiving and Displaying User Inputted Travel-Related Messages |
US8429111B1 (en) * | 2008-08-04 | 2013-04-23 | Zscaler, Inc. | Encoding and compression of statistical data |
US8060524B2 (en) * | 2008-12-11 | 2011-11-15 | Microsoft Corporation | History answer for re-finding search results |
US8539343B2 (en) * | 2008-12-16 | 2013-09-17 | SAP France S.A. | Calculating uniqueness coefficients for data objects and displaying the data objects in a layout based on the uniqueness coefficient |
US9043148B2 (en) * | 2008-12-29 | 2015-05-26 | Google Technology Holdings LLC | Navigation system and methods for generating enhanced search results |
US8600577B2 (en) * | 2008-12-29 | 2013-12-03 | Motorola Mobility Llc | Navigation system and methods for generating enhanced search results |
US8126904B1 (en) * | 2009-02-09 | 2012-02-28 | Repio, Inc. | System and method for managing digital footprints |
US20100306249A1 (en) * | 2009-05-27 | 2010-12-02 | James Hill | Social network systems and methods |
US20110055062A1 (en) * | 2009-07-02 | 2011-03-03 | Rps Holdings, Inc. | Activity Scheduling and Clearinghouse System |
US20110212430A1 (en) * | 2009-09-02 | 2011-09-01 | Smithmier Donald E | Teaching and learning system |
US20110196864A1 (en) | 2009-09-03 | 2011-08-11 | Steve Mason | Apparatuses, methods and systems for a visual query builder |
US8386454B2 (en) * | 2009-09-20 | 2013-02-26 | Yahoo! Inc. | Systems and methods for providing advanced search result page content |
US8977639B2 (en) * | 2009-12-02 | 2015-03-10 | Google Inc. | Actionable search results for visual queries |
US8400334B2 (en) * | 2009-12-31 | 2013-03-19 | Thomson Reuters Global Resources (Trgr) | Asymmetric dictionary-based compression/decompression useful for broadcast or multicast unidirectional communication channels |
US10156954B2 (en) | 2010-01-29 | 2018-12-18 | Oracle International Corporation | Collapsible search results |
US8433764B2 (en) * | 2010-02-09 | 2013-04-30 | Google Inc. | Identification of message recipients |
US8832101B2 (en) * | 2010-02-18 | 2014-09-09 | Yahoo! Inc. | Automated user behavior feedback system for whole page search success optimization |
US20120212484A1 (en) * | 2010-02-28 | 2012-08-23 | Osterhout Group, Inc. | System and method for display content placement using distance and location information |
US8838586B2 (en) * | 2010-03-05 | 2014-09-16 | Apple Inc. | Relevancy ranking for map-related search |
US8732208B2 (en) * | 2010-04-19 | 2014-05-20 | Facebook, Inc. | Structured search queries based on social-graph information |
JP2013530635A (en) * | 2010-05-21 | 2013-07-25 | ライヴ マトリックス インコーポレイテッド | Web time index to associate interactive calendar and index elements of scheduled web-based events with metadata |
US8584011B2 (en) * | 2010-06-22 | 2013-11-12 | Microsoft Corporation | Document representation transitioning |
US8600979B2 (en) * | 2010-06-28 | 2013-12-03 | Yahoo! Inc. | Infinite browse |
US8478519B2 (en) * | 2010-08-30 | 2013-07-02 | Google Inc. | Providing results to parameterless search queries |
WO2012033498A1 (en) * | 2010-09-10 | 2012-03-15 | Hewlett-Packard Development Company, L.P. | Systems and methods for data compression |
US20120278837A1 (en) * | 2011-04-29 | 2012-11-01 | Sling Media Inc. | Presenting related content during a placeshifting session |
US9342605B2 (en) * | 2011-06-13 | 2016-05-17 | Facebook, Inc. | Client-side modification of search results based on social network data |
US8812474B2 (en) * | 2011-07-14 | 2014-08-19 | Nuance Communications, Inc. | Methods and apparatus for identifying and providing information sought by a user |
US20130054558A1 (en) * | 2011-08-29 | 2013-02-28 | Microsoft Corporation | Updated information provisioning |
US9335883B2 (en) * | 2011-09-08 | 2016-05-10 | Microsoft Technology Licensing, Llc | Presenting search result items having varied prominence |
US20130086499A1 (en) * | 2011-09-30 | 2013-04-04 | Matthew G. Dyor | Presenting auxiliary content in a gesture-based system |
US20130086025A1 (en) * | 2011-09-30 | 2013-04-04 | Nuance Communications, Inc. | Techniques for receiving and processing one or more user-specified queries |
US20130106683A1 (en) * | 2011-10-31 | 2013-05-02 | Elwha LLC, a limited liability company of the State of Delaware | Context-sensitive query enrichment |
US20130212487A1 (en) * | 2012-01-09 | 2013-08-15 | Visa International Service Association | Dynamic Page Content and Layouts Apparatuses, Methods and Systems |
US8965876B2 (en) * | 2012-01-18 | 2015-02-24 | Yahoo! Inc. | Ecosystem for manually marked searchable feeds on publisher sites |
US20130198171A1 (en) * | 2012-01-26 | 2013-08-01 | Microsoft Corporation | Method and system for managing database object information |
US9495462B2 (en) * | 2012-01-27 | 2016-11-15 | Microsoft Technology Licensing, Llc | Re-ranking search results |
US8671123B2 (en) * | 2012-02-01 | 2014-03-11 | Microsoft Corporation | Contextual icon-oriented search tool |
US8996530B2 (en) * | 2012-04-27 | 2015-03-31 | Yahoo! Inc. | User modeling for personalized generalized content recommendations |
US9552596B2 (en) * | 2012-07-12 | 2017-01-24 | Spritz Technology, Inc. | Tracking content through serial presentation |
US9244977B2 (en) * | 2012-12-31 | 2016-01-26 | Google Inc. | Using content identification as context for search |
US10007933B2 (en) * | 2013-02-22 | 2018-06-26 | Swoop Inc. | Systems and methods for integrating dynamic content into electronic media |
US10572476B2 (en) * | 2013-03-14 | 2020-02-25 | Apple Inc. | Refining a search based on schedule items |
US10102307B2 (en) * | 2013-03-15 | 2018-10-16 | Oath Inc. | Method and system for multi-phase ranking for content personalization |
US11016628B2 (en) * | 2013-05-09 | 2021-05-25 | Amazon Technologies, Inc. | Mobile device applications |
US20150012524A1 (en) * | 2013-07-02 | 2015-01-08 | Google Inc. | Using models for triggering personal search |
US9128968B2 (en) * | 2013-07-25 | 2015-09-08 | Facebook, Inc. | Systems and methods for data compression |
US20150058324A1 (en) * | 2013-08-19 | 2015-02-26 | Joseph Gregory Kauwe | Systems and methods of enabling integrated activity scheduling, sharing and real-time social connectivity through an event-sharing platform |
US10311154B2 (en) * | 2013-09-21 | 2019-06-04 | Oracle International Corporation | Combined row and columnar storage for in-memory databases for OLTP and analytics workloads |
US20150100509A1 (en) * | 2013-10-09 | 2015-04-09 | Salesforce.Com, Inc. | Systems and methods for enhancing user engagement |
US9489409B2 (en) * | 2013-10-17 | 2016-11-08 | Sybase, Inc. | Rollover strategies in a N-bit dictionary compressed column store |
-
2013
- 2013-12-04 US US14/096,183 patent/US9715548B2/en not_active Expired - Fee Related
-
2014
- 2014-06-25 WO PCT/US2014/044069 patent/WO2015017051A2/en active Application Filing
- 2014-06-25 EP EP14832776.0A patent/EP3028138A4/en not_active Withdrawn
- 2014-06-25 CN CN201480053234.0A patent/CN105706046B/en active Active
-
2017
- 2017-06-20 US US15/627,781 patent/US10162903B2/en active Active
-
2018
- 2018-12-21 US US16/229,314 patent/US10740422B2/en active Active
-
2020
- 2020-07-01 US US16/918,751 patent/US11809503B2/en active Active
-
2023
- 2023-10-06 US US18/377,662 patent/US20240037162A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20200334311A1 (en) | 2020-10-22 |
CN105706046B (en) | 2018-10-30 |
US10740422B2 (en) | 2020-08-11 |
US20170286556A1 (en) | 2017-10-05 |
US20150039647A1 (en) | 2015-02-05 |
WO2015017051A3 (en) | 2015-10-29 |
US11809503B2 (en) | 2023-11-07 |
US9715548B2 (en) | 2017-07-25 |
WO2015017051A2 (en) | 2015-02-05 |
US10162903B2 (en) | 2018-12-25 |
CN105706046A (en) | 2016-06-22 |
EP3028138A4 (en) | 2017-03-08 |
EP3028138A2 (en) | 2016-06-08 |
US20190121829A1 (en) | 2019-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809503B2 (en) | Surfacing user-specific data records in search | |
US11397784B2 (en) | Structured user graph to support querying and predictions | |
AU2017204864B2 (en) | Providing knowledge panels with search results | |
US9268820B2 (en) | Providing knowledge panels with search results | |
US9858308B2 (en) | Real-time content recommendation system | |
US20130124504A1 (en) | Sharing Digital Content to Discovered Content Streams in Social Networking Services | |
US9063972B1 (en) | Increasing user retention and re-engagement in social networking services | |
CN110651288A (en) | Event extraction system and method | |
US20140279864A1 (en) | Generating data records based on parsing | |
CN110909234A (en) | Personal search results identifying physical locations previously interacted with by a user | |
US20240086479A1 (en) | Identification and Issuance of Repeatable Queries | |
US9348925B2 (en) | Locally significant search queries | |
US20180285444A1 (en) | Rewriting contextual queries | |
US10474671B2 (en) | Interpreting user queries based on nearby locations | |
US20170116284A1 (en) | Surfacing Inferred Actions in Search | |
CN106796599B (en) | Interpreting user queries based on nearby locations | |
CN106462603B (en) | Disambiguation of queries implied by multiple entities | |
US20160188173A1 (en) | Replicating User Input Across Displayed Search Results | |
US9996624B2 (en) | Surfacing in-depth articles in search results | |
US11194818B1 (en) | Promoting social media content in search | |
Ginjala | Emergency Search Using Android App | |
WO2021050082A1 (en) | Text entry recommendations based on stored search results | |
Al-Mahrubi et al. | http://dayta. me-A personal news+ data recommender for your day |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:065317/0897 Effective date: 20170929 Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHAN, CHENGLING;HEYMANS, MAUREEN;SMART, JASON L.;SIGNING DATES FROM 20130809 TO 20130930;REEL/FRAME:065309/0840 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |