WO2013078591A1 - Grouping search results - Google Patents

Grouping search results Download PDF

Info

Publication number
WO2013078591A1
WO2013078591A1 PCT/CN2011/083045 CN2011083045W WO2013078591A1 WO 2013078591 A1 WO2013078591 A1 WO 2013078591A1 CN 2011083045 W CN2011083045 W CN 2011083045W WO 2013078591 A1 WO2013078591 A1 WO 2013078591A1
Authority
WO
WIPO (PCT)
Prior art keywords
search results
search
subset
displaying
selectable
Prior art date
Application number
PCT/CN2011/083045
Other languages
French (fr)
Inventor
Hui Luo
Original Assignee
Google Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google Inc. filed Critical Google Inc.
Priority to PCT/CN2011/083045 priority Critical patent/WO2013078591A1/en
Publication of WO2013078591A1 publication Critical patent/WO2013078591A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Definitions

  • This document relates to processing search results.
  • a search engine includes one or more computers that receive a search query, and, in response, identify resources that satisfy the search query.
  • the search engine provides a search results page including search results that reference the identified resources.
  • a user provides a search query to a client computer that is connected to the search engine over one or more networks, such as the Internet.
  • the client device transmits the search query to and receives the search results page from the search engine.
  • the client device includes a display device in which the client device renders the search results page received from the search engine. To view a resource included in the search results, the user can select a corresponding search result that is included in the search results page.
  • the search engine may have identified more resources than can be displayed in one search results page.
  • the client device can render the search results in multiple search results pages, where one search results page is accessible from another search results page.
  • the user can access the multiple search results pages and select one or more search results included in one or more of the multiple ages. In this manner, the user can access resources that may be relevant to the user's search query.
  • the user may have difficulty tracking which search results were selected without referring back to previous pages.
  • This document describes technologies relating to grouping search results.
  • the method includes the actions of displaying multiple search results in a search results page. Each results page references a respective resource determined by a search engine as satisfying a search query.
  • the method includes displaying multiple selectable objects corresponding to the multiple search results in the search results page. Each selectable object is displayed adjacent to a respective search result to which the selectable object corresponds.
  • the method includes detecting selections of a subset of the multiple selectable objects. In response to detecting the selections, the method includes displaying a subset of the multiple search results to which the subset of the multiple selectable objects correspond within a selectable bounded region displayed in the search results page.
  • Multiple other search results are displayed in another search results page accessible from the search results page.
  • Each of the multiple other search results references a respective resource determined by the search engine as satisfying the search query.
  • a selection of a selectable object displayed adjacent a particular one of the multiple other search results is detected.
  • the particular one of the multiple other search results is displayed within the selectable bounded region together with the subset of the multiple search results.
  • a selection of the bounded region is detected.
  • resources addressed by the subset of the multiple search results are displayed in a user interface.
  • Displaying the resources addressed by the subset of the multiple search results in the user interface comprises displaying each resource under a corresponding tabbed webpage in the user interface.
  • a selectable object that corresponds to the bounded region is displayed in the search results page.
  • Detecting the selection of the bounded region comprises detecting a selection of the selectable object that corresponds to the bounded region.
  • the subset of the multiple selectable objects is displayed such that selectable objects in the subset are distinguishable from selectable objects not in the subset.
  • the subset of the multiple selectable objects is displayed in a color that is different from remaining selectable objects.
  • a selection of a search result displayed within the bounded region is detected.
  • a resource that the selected search result references is displayed in a user interface.
  • Each search result includes an identifier which includes a Uniform Resource
  • Locator Instead of the multiple search results, multiple other search results are displayed in the search results page. Each of the multiple other search results references a respective other resource determined by the search engine as satisfying another search query. That one of the multiple other search results is included in the subset of the multiple search results to which the selected subset of the multiple selectable objects corresponds is determined. In response, a highlighting is displayed within a selectable object displayed adjacent to the one of the multiple other search results.
  • the multiple search results are displayed in the search results page in response to receiving the search query during a search session. The search query is received during another search session. In response to receiving the search query during the other search session, the subset of the multiple search results to which the subset of the multiple selectable objects correspond is displayed at a top of search results.
  • a user can bookmark search results that are distributed across multiple search results pages.
  • the search results bookmarked by the user can be grouped, and displayed in a region of the search results page where the user can easily access all the results.
  • all the resources referenced by the grouped search results can be accessed and displayed such that all resources in the group are readily available to the user.
  • each resource included in the group can be displayed under corresponding tabs in a single user interface.
  • search results in a subsequent search session include a particular search result which the user bookmarked during a previous search session
  • the particular search result can be displayed in a manner that enables the user to readily discern that the user had previously bookmarked the particular search result.
  • the search query received in a subsequent search session is the same or substantially similar to that received in a previous search session, then the search results that were bookmarked during the previous search session can be included in the search results determined in the subsequent search session. In this manner, the user can be notified of previously bookmarked search results.
  • FIG. 1 illustrates an example of a system for providing search results.
  • FIGS. 2A and 2B illustrate examples of search results pages that display bookmarked search results.
  • FIG. 4A illustrates an example of a search results page.
  • FIG. 4B illustrates an example of a user interface that displays a resource accessible from the search results page of FIG. 4A.
  • FIGS. 5 A and 5B illustrate example search results page that display bookmarked search results across multiple bounded regions.
  • FIG. 6 is a flowchart of an example process for displaying grouped search results. Like reference numbers and designations in the various drawings indicate like elements.
  • FIG. 1 illustrates an example of a system 100 for providing search results.
  • the system.100 includes a client computer 105, which can include data processing apparatus 107 and a computer-readable storage medium 109 storing computer software instructions executable by the data processing apparatus 107 to perform operations described below.
  • the client computer 105 is connected to a search engine 110 and multiple server systems (server systems 112, 114, 116, 118) through one or more wired or wireless networks 120, for example, the Internet.
  • Each of the multiple server systems 112-118 includes one or more computers that store resources, for example, a text resource, an audio resource, a video resource, and images.
  • the search engine 110 also includes one or more computers that search the resources stored on the multiple server systems in response to receiving search queries. In some situations, the search engine 110 can also store resources.
  • the client computer 105 is connected to input devices (such as a keyboard 125, a mouse 130, and the like) through which the client computer 105 receives user input, and a display device 135 (for example, a monitor) in which the client computer 105 displays output that the client computer 105 generates by processing the input.
  • the client computer 105 receives a search query (for example, a string of characters) through a user interface 140 that the client computer 105 displays in the display device 135.
  • the client computer 105 transmits the received search query over the network 120 to the search engine 110.
  • the search engine 1 10 identifies resources, for example, from among those stored on the multiple server systems 112-1 18 or on the search engine 110 or both, that the search engine 110 determines as satisfying the received search query.
  • the search engine 110 generates a search results page 11 1 that includes search results, where each search result references one of the identified resources, and transmits the search results page to the client computer 105 over the network 120.
  • the client computer 105 receives and renders the search results page 111 in the display device 135.
  • the user interface 140 in which the client computer 105 receives the search query can include the search results page.
  • the client computer 105 renders the search results page in an Internet browser that the client computer 105 displays in the display device 135.
  • the search results page can include multiple search results, each of which includes an identifier (for example, a Uniform Resource Locator (URL)), that addresses a resource determined by the search engine 110 as satisfying the search query.
  • an identifier for example, a Uniform Resource Locator (URL)
  • the client computer 105 can render the search results across multiple search results pages. A user can traverse the multiple search results pages to select identifiers included in the search results.
  • the client computer 105 can display, in each search results page, one or more identifiers, for example, hyperlinks, to access one or more other search results pages (e.g., a hyperlink with the anchor text "Next 10 results", the selection of which causes the search engine 110 to send another search results page with the next 10 search results).
  • identifiers for example, hyperlinks
  • the search results page 1 11 includes code that causes the client computer 105, in response to user input, to bookmark a subset of the search results displayed across the search results pages.
  • the client computer 105 can group selected search results displayed in the same search results page or those displayed across multiple search results pages or both, and display the grouped search results in the display device 135. This allows the user to conveniently groups search results that the user may have determined to be of particular interest.
  • the client computer 105 can display multiple search results 214, 216, 218 and 220 and multiple selectable objects 222, 224, 226 and 228 corresponding to the multiple search results in the search results page 200. For each search result that references a resource, the client computer 105 displays the identifier that addresses the resource and snippets of text obtained from the resource in the search results page 200. To access the resource referenced by a search result, a user can select the identifier included in the search result.
  • the client computer 105 displays a subset of the search results identified by the search engine 110 in the search results page 200.
  • the client computer 105 displays ten search results (for example, a first search result 214, a second search result 216, a third search result 218, and so on, including a tenth search result 220) in the search results page 200.
  • ten search results for example, a first search result 214, a second search result 216, a third search result 218, and so on, including a tenth search result 220
  • the client computer 105 displays a selectable object (for example, a first selectable object 222, a second selectable object 224, a third selectable object 226, and so on, including a tenth selectable object 228).
  • the client computer 105 can display the selectable objects as any shape, for example, a circle, a rectangle, a star.
  • Each selectable object is a separately selectable object that can be selected independently of the search result to which it corresponds and facilitates a bookmarking function of the search result to which it corresponds.
  • a user can bookmark particular search results by selecting objects to which the particular search results correspond, i.e., the objects displayed adjacent the particular search results.
  • the client computer 105 in response, can store the bookmarked search results, for example, on the computer-readable storage medium 109.
  • the client computer 105 can detect a selection of a subset of the selectable objects displayed in the search results page 200.
  • a subset can include one or more or all of the selectable objects displayed in the search results page 200.
  • a pointer 240 for example, a cursor controlled by an input device (for example, a mouse 130)
  • a user selects the first selectable object 222 and the third selectable object 226.
  • the client computer 105 stores the search result to which each selected object corresponds.
  • the client computer 105 alter an appearance of the selected objects.
  • the client computer 105 can display the selected objects 222 and 226 in a color that is different from the unselected objects 224 and 228.
  • the client computer 105 can display a search result, or a portion of the search result (e.g., a URL) that corresponds to the selected object within a selectable bounded region 230 displayed within the search results page 200.
  • the client computer 105 displays a first identifier 232 and a third identifier 234 that correspond to the first search result 214 and the third search result 218, respectively, within a selectable bounded region 230.
  • the first identifier 232 and the third identifier 234 can be the identifier (e.g., the URL itself or anchor text used to indicate the embedded URL) included in the first search result 214 and the third search result 226, respectively.
  • the identifiers can include text included in the snippets of respective search results.
  • the client computer 105 displays search results bookmarked by the user within a bounded region in the search results page 200.
  • the client computer 105 displays a link 236 that references the bounded region 230.
  • a user can select either the bounded region 230 or the link 236 that references the bounded region 230.
  • the search engine 110 may have identified more than the ten search results displayed in the search results page 200. In such situations, the client computer 105 can distribute the additional search results in multiple search results pages accessible from the search results page 200.
  • the client computer 105 can number each page using a page number 238 and include in each page, a link 240 (for example, a hyperlink) to another search results page.
  • FIG. 2B shows another search results page 205, which represents a second search results page in which the client computer 105 displays the eleventh through the twentieth search result identified by the search engine 1 10 as satisfying the search query that the client computer 105 received in control 210.
  • the client computer 105 displays the eleventh through the twentieth search results (including the eleventh search result 252, twelfth search result 254, thirteenth search result 248, and so on, including the twentieth search result 250).
  • Adjacent to each search result the client computer 105 displays a corresponding selectable object (for example, selectable objects 252, 254, 256, and 258 displayed adjacent to the search results 242, 246, 248, and 250, respectively).
  • the client computer 105 displays the bounded region 262, within which the client computer 105 displays the subset of search results that the user bookmarked in search results page 200.
  • the user bookmarks additional search results, namely, the eleventh, twelfth, and twentieth search results 242, 246, and 250, respectively, by selecting the objects 252, 254, and 258.
  • the client computer 105 displays the search results selected in the search results page 205 together with the search results selected in the search results page 200 within the bounded region 262.
  • a user can select the identifiers displayed in the bounded region 262 by selecting either the bounded region 262 or the link 264.
  • the client computer 105 can display search results across multiple search results pages, detect bookmarking of a subset of search results in each search results page, and, on each search results page, display the bounded region that includes the bookmarked search results. As described below, the client computer 105 can display resources referenced by the bookmarked search results in response to detecting a selection of the bounded region or the identifier that addresses the bounded region.
  • FIGS. 3A and 3B illustrate examples of user interfaces 300 and 305 that display resources referenced by bookmarked search results.
  • the user can select the bounded region (for example, the link 264 for bounded region 262) within which the client computer 105 displays the bookmarked search results or the link that references the bounded region (for example, the link 264).
  • the client computer 105 can retrieve the resources referenced by the bookmarked search results (for example, from a server system on which the resources are stored), and display the retrieved resources in the user interfaces 300 and 305.
  • the client computer 105 displays all the resources referenced by the bookmarked search results in a single user interface 300, for example, under corresponding tabbed webpages.
  • the example user interface 300 shown in FIG. 3A includes five tabbed webpages, each displaying a resource referenced by a bookmarked search result.
  • the client computer 105 displays the resource (for example, image resource 304, content 306) referenced by the first bookmarked search result (for example, the first search result that the user bookmarked).
  • the client computer 105 displays additional tabs within the user interface 300. Each additional tab represents a corresponding tabbed webpage.
  • the user has selected one of the additional tabs (for example, tab 310.
  • the client computer 105 displays the resource (for example, image resource 312, content 314) referenced by the bookmarked search result represented by the additional tab 310.
  • the client computer 105 can display the resources referenced by the bookmarked search results in a single user interface (for example, user interface 300 or 305). The user can view each resource by selecting a respective tab displayed in the user interface.
  • the user is presented with a user environment in which all of the resources the user determined to be of interest are conveniently accessible by the selection of a corresponding tab.
  • the only actions that were necessary on the user's part were the bookmarking of corresponding search results and the selection of the bookmark region by the user.
  • the client computer 105 can retrieve all the resources referenced by all the search results, store the retrieved search results locally, and render the resources in the multiple tabs.
  • the client computer 105 can retrieve a resource in real-time. In other words, upon detecting the selection of a tab, the client computer 105 can request the resource referenced by the search result to which the selected tab corresponds from the server system on which the resource is stored.
  • FIG. 4A illustrates an example of a search results page 400 that is substantially similar to the search results page 200 shown in FIG. 2B.
  • the client computer 105 can detect a selection of one of the bookmarked search results 402 displayed within the bounded region 404 in the search results page 400. For example, a user can position a cursor 406 on the bookmarked search result 402 to select the search result 402.
  • the client computer 105 can retrieve the resource referenced by the bookmarked search result 402, for example, from the server system on which the resource is stored.
  • the client computer 105 can display the retrieved resource in a user interface.
  • the client computer 105 can display the retrieved resource (including image resource 452, content 454) in a webpage 450, such as the one shown in FIG. 4B.
  • the client computer 105 displays the search results across multiple search results pages and displays the bounded region within which the bookmarked search results are displayed on each of the search results pages that a user accesses. For example, when the user bookmarks search results in a first search results page, then the client computer 105 displays the bookmarked search results within the bounded region. When the user accesses a second search results page from the first search results page, then the client computer 105 displays the bounded region including the bookmarked search results displayed in the first search results page, on the second search results page. When the user bookmarks search results displayed on the second search results page, the client computer 105 updates the bounded region to display the bookmarked search results from both the first and second search results pages. The client computer 105 repeats these techniques for each search results page that the user accesses.
  • not all the bookmarked search results may fit within the bounded region.
  • a size that the client computer 105 assigns to the bounded region may be insufficient to display all the bookmarked search results.
  • the client computer 105 can distribute the bookmarked search results across multiple bounded regions, as described below.
  • FIGS. 5 A and 5B illustrate example search results page that display bookmarked search results across multiple bounded regions.
  • FIG. 5A shows a search results page 500 that displays a first bounded region 502 of multiple bounded regions in which the client computer 105 displays multiple bookmarked search results.
  • the client computer 105 displays links (for example, a "Prev" link 515 and a "Next" link 510), configured such that when the client computer 105 detects a selection of a link, the client computer 105 accesses one of the other bounded regions.
  • the client computer 105 detects a selection of the "Next" link 510.
  • the client computer 105 displays another bounded region 507 within the search results page 505 (FIG. 5B). Within the other bounded region 507, the client computer 105 displays additional bookmarked search results. Also within the other bounded region 507, the client computer 105 displays another "Prev" link 525 and another "Next” link 520, each to access another bounded region.
  • the client computer 105 groups bookmarked search results that are displayed among multiple search results across one or more search results pages in response to receiving a search query.
  • the client computer 105 associates the bookmarked search results to the search query.
  • the client computer 105 stores both the bookmarked search results and the search query locally, i.e., on the computer-readable storage medium 109.
  • the client computer 105 can receive a new search query, and can receive from the search engine 1 10, a new search results page that includes search results referencing resources determined by the search engine 110 as satisfying the new search query.
  • the new search results may include one or more of the previously bookmarked search results.
  • the client computer 105 can compare the bookmarked search results with the new search results to determine whether the new search results include any previously bookmarked search results. If the client computer 105 identifies one or more new search results that were included in the previously bookmarked search results, then the client computer 105 can highlight the selectable objects that correspond to identified one or more new search results. In this manner, the client computer 105 can enable a user to identify previously bookmarked search results in new search results obtained in a subsequent search session.
  • the bookmarked search results are associated with the query, and the association is persisted in a data store on the client device 105.
  • the client computer 105 may receive a new search query in a subsequent search session, is the same as a previous search query that the client computer 105 received in a previous search session.
  • the client computer 105 can retrieve stored bookmarked search results that the client computer 105 associated with the search query in the previous search sessions, and display the retrieved bookmarked search results at a top of the search results page in response to receiving the new search query in the subsequent search session.
  • the client computer 105 can receive a new search query in a new search session.
  • the new search query can be the same as or substantially similar to a search query received in a previous search session.
  • the client computer 105 can additionally receive input to identify search results that are relevant to the new query.
  • the client computer 105 determines that the new search query is the same as or substantially similar to a search query received in a previous search session, rather than transmitting the search query to the search engine 105, the client computer 105 can search the stored bookmarked search results for search results that have been associated with the search query received in the previous search session.
  • the client computer 105 can then provide bookmarked search results, identified in response to the search, as search results relevant to the new search query.
  • the client computer 105 can receive input to de-select a bookmarked search query. For example, the client computer 105 can detect a selection of a previously selected selectable object displayed adjacent to a search result. In response, the client computer 105 can de-select the previously selected selectable object. In particular, the client computer 105 can remove an association of the de-selected search result and the search query to which the search result was previously associated. Further, the client computer 105 remove a highlighting from within the selectable object to notify the user of the de-selection.
  • FIG. 6 is a flowchart of an example process 600 for displaying grouped search results.
  • the process 600 can be implemented by a system of one or more computers that can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or combinations of them installed on the system that in operation causes or cause the system to perform the actions.
  • One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.
  • the process 600 receives a first search query (step 602).
  • the process 600 receives multiple search results addressing multiple resources, each determined to satisfy the first search query (step 604).
  • the process 600 displays multiple selectable objects adjacent to respective multiple search results, each object corresponding to a search result (step 606),
  • the process 600 detects a selection of a subset of the multiple selectable objects (step 608).
  • the process 600 stores the subset of the multiple search results to which the subset of the multiple selectable objects correspond (step 610).
  • the process 600 associates the subset of the multiple search results with the first search query (step 612).
  • the process 600 receives a second search query (step 61 ).
  • the process 600 receives new multiple search results addressing multiple resources, each determined to satisfy the second search query (step 616).
  • the process determines one or more search results of the new multiple search results that were included in the subset of multiple search results associated with the first search query (step 618).
  • the process 600 highlights selectable objects displayed adjacent the one
  • Implementations of the subject matter described in this specification can be implemented as 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.
  • the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, which 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 ⁇ 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.
  • the essential elements of a computer are 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.
  • PDA personal digital assistant
  • GPS Global Positioning System
  • USB universal serial bus
  • 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., an HTML page) to a client device (e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device).
  • 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
  • combination may be directed to a subcombination or variation of a subcombination.

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)
  • User Interface Of Digital Computer (AREA)

Abstract

Multiple search results, each referencing a respective resource determined by a search engine as satisfying a search query, are displayed in a search results page. Multiple selectable objects corresponding to the multiple search results are displayed adjacent to the multiple search results. In response to detecting selections of a subset of the multiple selectable objects, a subset of the multiple search results to which the subset of the multiple selectable objects correspond within a selectable bounded region are displayed in the search results page.

Description

GROUPING SEARCH RESULTS
BACKGROUND
This document relates to processing search results.
A search engine includes one or more computers that receive a search query, and, in response, identify resources that satisfy the search query. The search engine provides a search results page including search results that reference the identified resources. For example, a user provides a search query to a client computer that is connected to the search engine over one or more networks, such as the Internet. The client device transmits the search query to and receives the search results page from the search engine. The client device includes a display device in which the client device renders the search results page received from the search engine. To view a resource included in the search results, the user can select a corresponding search result that is included in the search results page.
In some situations, the search engine may have identified more resources than can be displayed in one search results page. In such situations, the client device can render the search results in multiple search results pages, where one search results page is accessible from another search results page. The user can access the multiple search results pages and select one or more search results included in one or more of the multiple ages. In this manner, the user can access resources that may be relevant to the user's search query.
However, as a user pages through multiple search result pages, the user may have difficulty tracking which search results were selected without referring back to previous pages.
SUMMARY
This document describes technologies relating to grouping search results.
In general, one innovative aspect of the subject matter described in this document can be implemented as a method performed by data processing apparatus. The method includes the actions of displaying multiple search results in a search results page. Each results page references a respective resource determined by a search engine as satisfying a search query. The method includes displaying multiple selectable objects corresponding to the multiple search results in the search results page. Each selectable object is displayed adjacent to a respective search result to which the selectable object corresponds. The method includes detecting selections of a subset of the multiple selectable objects. In response to detecting the selections, the method includes displaying a subset of the multiple search results to which the subset of the multiple selectable objects correspond within a selectable bounded region displayed in the search results page.
Other innovative aspects of the subject matter described in this document can be implemented as a computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform the methods described here. Further innovative aspects of the subject matter described in this document can be implemented as a system that includes a data processing apparatus and the computer storage medium.
This, and other aspects, can include one or more of the following features. Multiple other search results are displayed in another search results page accessible from the search results page. Each of the multiple other search results references a respective resource determined by the search engine as satisfying the search query. A selection of a selectable object displayed adjacent a particular one of the multiple other search results is detected. In response to detecting the selection, the particular one of the multiple other search results is displayed within the selectable bounded region together with the subset of the multiple search results. A selection of the bounded region is detected. In response to detecting the selection of the bounded region, resources addressed by the subset of the multiple search results are displayed in a user interface. Displaying the resources addressed by the subset of the multiple search results in the user interface comprises displaying each resource under a corresponding tabbed webpage in the user interface. A selectable object that corresponds to the bounded region is displayed in the search results page. Detecting the selection of the bounded region comprises detecting a selection of the selectable object that corresponds to the bounded region. The subset of the multiple selectable objects is displayed such that selectable objects in the subset are distinguishable from selectable objects not in the subset. The subset of the multiple selectable objects is displayed in a color that is different from remaining selectable objects. A selection of a search result displayed within the bounded region is detected. In response to detecting the selection of the search result displayed within the bounded region, a resource that the selected search result references is displayed in a user interface. Each search result includes an identifier which includes a Uniform Resource
Locator. Instead of the multiple search results, multiple other search results are displayed in the search results page. Each of the multiple other search results references a respective other resource determined by the search engine as satisfying another search query. That one of the multiple other search results is included in the subset of the multiple search results to which the selected subset of the multiple selectable objects corresponds is determined. In response, a highlighting is displayed within a selectable object displayed adjacent to the one of the multiple other search results. The multiple search results are displayed in the search results page in response to receiving the search query during a search session. The search query is received during another search session. In response to receiving the search query during the other search session, the subset of the multiple search results to which the subset of the multiple selectable objects correspond is displayed at a top of search results.
Particular implementations of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages. By implementing the techniques described below, a user can bookmark search results that are distributed across multiple search results pages. The search results bookmarked by the user can be grouped, and displayed in a region of the search results page where the user can easily access all the results. When the user selects the grouped search results, all the resources referenced by the grouped search results can be accessed and displayed such that all resources in the group are readily available to the user. To do so, for example, each resource included in the group can be displayed under corresponding tabs in a single user interface. Thus, a user's effort to access search results distributed across multiple search results pages can be decreased.
If the search results in a subsequent search session include a particular search result which the user bookmarked during a previous search session, then the particular search result can be displayed in a manner that enables the user to readily discern that the user had previously bookmarked the particular search result. Further, if the search query received in a subsequent search session is the same or substantially similar to that received in a previous search session, then the search results that were bookmarked during the previous search session can be included in the search results determined in the subsequent search session. In this manner, the user can be notified of previously bookmarked search results.
The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an example of a system for providing search results.
FIGS. 2A and 2B illustrate examples of search results pages that display bookmarked search results.
FIGS. 3A and 3B illustrate examples of user interfaces that display resources referenced by bookmarked search results.
FIG. 4A illustrates an example of a search results page.
FIG. 4B illustrates an example of a user interface that displays a resource accessible from the search results page of FIG. 4A.
FIGS. 5 A and 5B illustrate example search results page that display bookmarked search results across multiple bounded regions.
FIG. 6 is a flowchart of an example process for displaying grouped search results. Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION
FIG. 1 illustrates an example of a system 100 for providing search results. The system.100 includes a client computer 105, which can include data processing apparatus 107 and a computer-readable storage medium 109 storing computer software instructions executable by the data processing apparatus 107 to perform operations described below. The client computer 105 is connected to a search engine 110 and multiple server systems (server systems 112, 114, 116, 118) through one or more wired or wireless networks 120, for example, the Internet. Each of the multiple server systems 112-118 includes one or more computers that store resources, for example, a text resource, an audio resource, a video resource, and images. The search engine 110 also includes one or more computers that search the resources stored on the multiple server systems in response to receiving search queries. In some situations, the search engine 110 can also store resources.
The client computer 105 is connected to input devices (such as a keyboard 125, a mouse 130, and the like) through which the client computer 105 receives user input, and a display device 135 (for example, a monitor) in which the client computer 105 displays output that the client computer 105 generates by processing the input. In some situations, the client computer 105 receives a search query (for example, a string of characters) through a user interface 140 that the client computer 105 displays in the display device 135. The client computer 105 transmits the received search query over the network 120 to the search engine 110. The search engine 1 10 identifies resources, for example, from among those stored on the multiple server systems 112-1 18 or on the search engine 110 or both, that the search engine 110 determines as satisfying the received search query. The search engine 110 generates a search results page 11 1 that includes search results, where each search result references one of the identified resources, and transmits the search results page to the client computer 105 over the network 120. The client computer 105 receives and renders the search results page 111 in the display device 135. In some situations, the user interface 140 in which the client computer 105 receives the search query can include the search results page.
In some implementations, the client computer 105 renders the search results page in an Internet browser that the client computer 105 displays in the display device 135. The search results page can include multiple search results, each of which includes an identifier (for example, a Uniform Resource Locator (URL)), that addresses a resource determined by the search engine 110 as satisfying the search query. In some situations, as an alternative to rendering all the resources identified by the search engine 110 in a single search results page, the client computer 105 can render the search results across multiple search results pages. A user can traverse the multiple search results pages to select identifiers included in the search results. To enable the user to do so, the client computer 105 can display, in each search results page, one or more identifiers, for example, hyperlinks, to access one or more other search results pages (e.g., a hyperlink with the anchor text "Next 10 results", the selection of which causes the search engine 110 to send another search results page with the next 10 search results).
The search results page 1 11 includes code that causes the client computer 105, in response to user input, to bookmark a subset of the search results displayed across the search results pages. The client computer 105 can group selected search results displayed in the same search results page or those displayed across multiple search results pages or both, and display the grouped search results in the display device 135. This allows the user to conveniently groups search results that the user may have determined to be of particular interest.
FIGS. 2A and 2B illustrate examples of search results pages 200 and 205 that display grouped search results. In some implementations, the client computer 105 can render the search results page 200 in the display device 135. The search results page 200 includes an address bar 210 that includes the URL that addresses the search results page 210. The search results page 200 includes an input field 212, for example, a textbox, in which the client computer 105 receives a search query. As described above, the client computer 105 transmits the search query to the search engine 110, and renders the search results page 200 that includes search results identified by the search engine 110 as satisfying the search query in the search results page 200. A search result references a resource identified by the search engine 110 as satisfying the search query, and includes an identifier (for example, a URL) that addresses the resource and snippets of text obtained from the resource.
The client computer 105 can display multiple search results 214, 216, 218 and 220 and multiple selectable objects 222, 224, 226 and 228 corresponding to the multiple search results in the search results page 200. For each search result that references a resource, the client computer 105 displays the identifier that addresses the resource and snippets of text obtained from the resource in the search results page 200. To access the resource referenced by a search result, a user can select the identifier included in the search result.
If the number of search results are more than can be shown on a single search results page, the client computer 105 displays a subset of the search results identified by the search engine 110 in the search results page 200. In the example shown in FIG. 2 A, the client computer 105 displays ten search results (for example, a first search result 214, a second search result 216, a third search result 218, and so on, including a tenth search result 220) in the search results page 200. Adjacent to each search result, the client computer 105 displays a selectable object (for example, a first selectable object 222, a second selectable object 224, a third selectable object 226, and so on, including a tenth selectable object 228). The client computer 105 can display the selectable objects as any shape, for example, a circle, a rectangle, a star. Each selectable object is a separately selectable object that can be selected independently of the search result to which it corresponds and facilitates a bookmarking function of the search result to which it corresponds.
A user can bookmark particular search results by selecting objects to which the particular search results correspond, i.e., the objects displayed adjacent the particular search results. The client computer 105, in response, can store the bookmarked search results, for example, on the computer-readable storage medium 109. In some implementations, the client computer 105 can detect a selection of a subset of the selectable objects displayed in the search results page 200. A subset can include one or more or all of the selectable objects displayed in the search results page 200. For example, using a pointer 240 (for example, a cursor) controlled by an input device (for example, a mouse 130), a user selects the first selectable object 222 and the third selectable object 226. The client computer 105 stores the search result to which each selected object corresponds. To indicate the objects that have been selected, the client computer 105 alter an appearance of the selected objects. For example, the client computer 105 can display the selected objects 222 and 226 in a color that is different from the unselected objects 224 and 228.
In response to detecting the selection of each selectable object, the client computer 105 can display a search result, or a portion of the search result (e.g., a URL) that corresponds to the selected object within a selectable bounded region 230 displayed within the search results page 200. With reference to the example described above, the client computer 105 displays a first identifier 232 and a third identifier 234 that correspond to the first search result 214 and the third search result 218, respectively, within a selectable bounded region 230. The first identifier 232 and the third identifier 234 can be the identifier (e.g., the URL itself or anchor text used to indicate the embedded URL) included in the first search result 214 and the third search result 226, respectively. Alternatively, or in addition, the identifiers can include text included in the snippets of respective search results. In this manner, the client computer 105 displays search results bookmarked by the user within a bounded region in the search results page 200. In addition, the client computer 105 displays a link 236 that references the bounded region 230. To select the identifiers displayed within the bounded region 230, a user can select either the bounded region 230 or the link 236 that references the bounded region 230. The search engine 110 may have identified more than the ten search results displayed in the search results page 200. In such situations, the client computer 105 can distribute the additional search results in multiple search results pages accessible from the search results page 200. The client computer 105 can number each page using a page number 238 and include in each page, a link 240 (for example, a hyperlink) to another search results page.
FIG. 2B shows another search results page 205, which represents a second search results page in which the client computer 105 displays the eleventh through the twentieth search result identified by the search engine 1 10 as satisfying the search query that the client computer 105 received in control 210. In the search results page 205, the client computer 105 displays the eleventh through the twentieth search results (including the eleventh search result 252, twelfth search result 254, thirteenth search result 248, and so on, including the twentieth search result 250). Adjacent to each search result, the client computer 105 displays a corresponding selectable object (for example, selectable objects 252, 254, 256, and 258 displayed adjacent to the search results 242, 246, 248, and 250, respectively).
In addition, the client computer 105 displays the bounded region 262, within which the client computer 105 displays the subset of search results that the user bookmarked in search results page 200. Similarly to the techniques described with reference to FIG. 2A, the user bookmarks additional search results, namely, the eleventh, twelfth, and twentieth search results 242, 246, and 250, respectively, by selecting the objects 252, 254, and 258. In response, the client computer 105 displays the search results selected in the search results page 205 together with the search results selected in the search results page 200 within the bounded region 262. Adjacent to the bounded region 262, the client computer 105 displays a link 264 that addresses the bounded region 262. As described above, a user can select the identifiers displayed in the bounded region 262 by selecting either the bounded region 262 or the link 264.
By implementing the techniques described with reference to FIGS. 2A and 2B, the client computer 105 can display search results across multiple search results pages, detect bookmarking of a subset of search results in each search results page, and, on each search results page, display the bounded region that includes the bookmarked search results. As described below, the client computer 105 can display resources referenced by the bookmarked search results in response to detecting a selection of the bounded region or the identifier that addresses the bounded region.
FIGS. 3A and 3B illustrate examples of user interfaces 300 and 305 that display resources referenced by bookmarked search results. To view the bookmarked search results, the user can select the bounded region (for example, the link 264 for bounded region 262) within which the client computer 105 displays the bookmarked search results or the link that references the bounded region (for example, the link 264). In response to detecting the selection of the bounded region, the client computer 105 can retrieve the resources referenced by the bookmarked search results (for example, from a server system on which the resources are stored), and display the retrieved resources in the user interfaces 300 and 305. In some implementations, the client computer 105 displays all the resources referenced by the bookmarked search results in a single user interface 300, for example, under corresponding tabbed webpages.
The example user interface 300 shown in FIG. 3A includes five tabbed webpages, each displaying a resource referenced by a bookmarked search result. In the first tabbed webpage identified by the first tab 302, the client computer 105 displays the resource (for example, image resource 304, content 306) referenced by the first bookmarked search result (for example, the first search result that the user bookmarked). The client computer 105 displays additional tabs within the user interface 300. Each additional tab represents a corresponding tabbed webpage.
As shown in FIG. 3B, the user has selected one of the additional tabs (for example, tab 310. In response to detecting the selection of the additional tab 310, the client computer 105 displays the resource (for example, image resource 312, content 314) referenced by the bookmarked search result represented by the additional tab 310. In this manner, the client computer 105 can display the resources referenced by the bookmarked search results in a single user interface (for example, user interface 300 or 305). The user can view each resource by selecting a respective tab displayed in the user interface.
Accordingly, the user is presented with a user environment in which all of the resources the user determined to be of interest are conveniently accessible by the selection of a corresponding tab. The only actions that were necessary on the user's part were the bookmarking of corresponding search results and the selection of the bookmark region by the user.
In some implementations, the client computer 105 can retrieve all the resources referenced by all the search results, store the retrieved search results locally, and render the resources in the multiple tabs. Alternatively, the client computer 105 can retrieve a resource in real-time. In other words, upon detecting the selection of a tab, the client computer 105 can request the resource referenced by the search result to which the selected tab corresponds from the server system on which the resource is stored.
Instead of selecting all bookmarked search results, in some implementations the bookmarked results can be selected individually. FIG. 4A illustrates an example of a search results page 400 that is substantially similar to the search results page 200 shown in FIG. 2B. In some implementations, the client computer 105 can detect a selection of one of the bookmarked search results 402 displayed within the bounded region 404 in the search results page 400. For example, a user can position a cursor 406 on the bookmarked search result 402 to select the search result 402. In response to detecting the selection, the client computer 105 can retrieve the resource referenced by the bookmarked search result 402, for example, from the server system on which the resource is stored. The client computer 105 can display the retrieved resource in a user interface. For example, the client computer 105 can display the retrieved resource (including image resource 452, content 454) in a webpage 450, such as the one shown in FIG. 4B.
As described above, the client computer 105 displays the search results across multiple search results pages and displays the bounded region within which the bookmarked search results are displayed on each of the search results pages that a user accesses. For example, when the user bookmarks search results in a first search results page, then the client computer 105 displays the bookmarked search results within the bounded region. When the user accesses a second search results page from the first search results page, then the client computer 105 displays the bounded region including the bookmarked search results displayed in the first search results page, on the second search results page. When the user bookmarks search results displayed on the second search results page, the client computer 105 updates the bounded region to display the bookmarked search results from both the first and second search results pages. The client computer 105 repeats these techniques for each search results page that the user accesses.
In some situations, not all the bookmarked search results may fit within the bounded region. For example, a size that the client computer 105 assigns to the bounded region may be insufficient to display all the bookmarked search results. In such situations, the client computer 105 can distribute the bookmarked search results across multiple bounded regions, as described below.
FIGS. 5 A and 5B illustrate example search results page that display bookmarked search results across multiple bounded regions. In particular, FIG. 5A shows a search results page 500 that displays a first bounded region 502 of multiple bounded regions in which the client computer 105 displays multiple bookmarked search results. To access other bounded regions, the client computer 105 displays links (for example, a "Prev" link 515 and a "Next" link 510), configured such that when the client computer 105 detects a selection of a link, the client computer 105 accesses one of the other bounded regions. In the example shown in FIG. 5A, the client computer 105 detects a selection of the "Next" link 510. In response, the client computer 105 displays another bounded region 507 within the search results page 505 (FIG. 5B). Within the other bounded region 507, the client computer 105 displays additional bookmarked search results. Also within the other bounded region 507, the client computer 105 displays another "Prev" link 525 and another "Next" link 520, each to access another bounded region.
By implementing the techniques described above, the client computer 105 groups bookmarked search results that are displayed among multiple search results across one or more search results pages in response to receiving a search query. In some implementations, the client computer 105 associates the bookmarked search results to the search query. For example, the client computer 105 stores both the bookmarked search results and the search query locally, i.e., on the computer-readable storage medium 109.
In some implementations, during a subsequent search session, the client computer 105 can receive a new search query, and can receive from the search engine 1 10, a new search results page that includes search results referencing resources determined by the search engine 110 as satisfying the new search query. The new search results may include one or more of the previously bookmarked search results. In response to receiving the new search results, the client computer 105 can compare the bookmarked search results with the new search results to determine whether the new search results include any previously bookmarked search results. If the client computer 105 identifies one or more new search results that were included in the previously bookmarked search results, then the client computer 105 can highlight the selectable objects that correspond to identified one or more new search results. In this manner, the client computer 105 can enable a user to identify previously bookmarked search results in new search results obtained in a subsequent search session.
In some implementations, the bookmarked search results are associated with the query, and the association is persisted in a data store on the client device 105. The client computer 105 may receive a new search query in a subsequent search session, is the same as a previous search query that the client computer 105 received in a previous search session. In such situations, the client computer 105 can retrieve stored bookmarked search results that the client computer 105 associated with the search query in the previous search sessions, and display the retrieved bookmarked search results at a top of the search results page in response to receiving the new search query in the subsequent search session.
In some implementations, the client computer 105 can receive a new search query in a new search session. The new search query can be the same as or substantially similar to a search query received in a previous search session. The client computer 105 can additionally receive input to identify search results that are relevant to the new query. When the client computer 105 determines that the new search query is the same as or substantially similar to a search query received in a previous search session, rather than transmitting the search query to the search engine 105, the client computer 105 can search the stored bookmarked search results for search results that have been associated with the search query received in the previous search session. The client computer 105 can then provide bookmarked search results, identified in response to the search, as search results relevant to the new search query.
In some implementations, the client computer 105 can receive input to de-select a bookmarked search query. For example, the client computer 105 can detect a selection of a previously selected selectable object displayed adjacent to a search result. In response, the client computer 105 can de-select the previously selected selectable object. In particular, the client computer 105 can remove an association of the de-selected search result and the search query to which the search result was previously associated. Further, the client computer 105 remove a highlighting from within the selectable object to notify the user of the de-selection.
FIG. 6 is a flowchart of an example process 600 for displaying grouped search results. The process 600 can be implemented by a system of one or more computers that can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or combinations of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.
The process 600 receives a first search query (step 602). The process 600 receives multiple search results addressing multiple resources, each determined to satisfy the first search query (step 604). The process 600 displays multiple selectable objects adjacent to respective multiple search results, each object corresponding to a search result (step 606), The process 600 detects a selection of a subset of the multiple selectable objects (step 608). The process 600 stores the subset of the multiple search results to which the subset of the multiple selectable objects correspond (step 610). The process 600 associates the subset of the multiple search results with the first search query (step 612). The process 600 receives a second search query (step 61 ). The process 600 receives new multiple search results addressing multiple resources, each determined to satisfy the second search query (step 616). The process determines one or more search results of the new multiple search results that were included in the subset of multiple search results associated with the first search query (step 618). The process 600 highlights selectable objects displayed adjacent the one or more search results of the new multiple search results (step 620).
Implementations of the subject matter and the operations described in this
specification can be implemented 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 implemented as 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, which 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 οτ 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. The essential elements of a computer are 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., an HTML page) 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 implementations or of what may be claimed, but rather as descriptions of features specific to particular implementations of particular implementations. Certain features that aTe 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 subcombination. 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 subcombination or variation of a subcombination.
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

What is Claimed is:
1. A method performed by data processing apparatus, the method comprising:
displaying a plurality of search results in a search results page, wherein each search result references a respective resource determined by a search engine as satisfying a search query;
displaying a plurality of selectable objects corresponding to the plurality of search results in the search results page, each selectable object displayed adjacent to a respective search result to which the selectable object corresponds;
detecting selections of a subset of the plurality of selectable objects; and
in response to detecting the selections, displaying a subset of the plurality of search results to which the subset of the plurality of selectable objects correspond within a selectable bounded region displayed in the search results page.
2. The method of claim 1, further comprising:
displaying another plurality of search results in another search results page accessible from the search results page, wherein each of the other plurality of search results references a respective resource determined by the search engine as satisfying the search query;
detecting a selection of a selectable object displayed adjacent a particular one of the other plurality of search results; and
in response to detecting the selection, displaying the particular one of the other plurality of search results within the selectable bounded region together with the subset of the plurality of search results.
3. The method of claim 1, further comprising:
detecting a selection of the bounded region; and
in response to detecting the selection of the bounded region, displaying resources addressed by the subset of the plurality of search results in a user interface.
4. The method of claim 3, wherein displaying the resources addressed by the subset of the plurality of search results in the user interface comprises displaying each resource under a corresponding tabbed webpage in the user interface.
5. The method of claim 1, further comprising displaying a selectable object that corresponds to the bounded region in the search results page, wherein detecting the selection of the bounded region comprises detecting a selection of the selectable object that corresponds to the bounded region,
6. The method of claim 1, further comprising displaying the subset of the plurality of selectable objects such that selectable objects in the subset are distinguishable from selectable objects not in the subset.
7. The method of claim 6, further comprising displaying the subset of the plurality of selectable objects in a color that is different from remaining selectable objects.
8. The method of claim 1 , further comprising:
detecting a selection of a search result displayed within the bounded region; and in response to detecting the selection of the search result displayed within the bounded region, displaying a resource that the selected search result references in a user interface.
9. The method of claim 1, wherein each search result includes an identifier which includes a Uniform Resource Locator.
10. The method of claim 1, further comprising:
displaying, instead of the plurality of search results, another plurality of search results in the search results page, wherein each of the other plurality of search results references a respective another resource determined by the search engine as satisfying another search query;
determining that one of the other plurality of search results is included in the subset of the plurality of search results to which the selected subset of the plurality of selectable objects corresponds; and
in response, displaying a highlighting within a selectable object displayed adjacent to the one of the other plurality of search results.
11. The method of claim 1 , wherein the plurality of search results are displayed in the search results page in response to receiving the search query during a search session, the method further comprising:
receiving the search query during another search session; and
in response to receiving the search query during the other search session, displaying the subset of the plurality of search results to which the subset of the plurality of selectable objects correspond at a top of search results.
12. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
displaying a plurality of search results in a search results page, wherein each search result references a respective resource determined by a search engine as satisfying a search query;
displaying a plurality of selectable objects corresponding to the plurality of search results in the search results page, each selectable object displayed adjacent to a respective search result to which the selectable object corresponds;
detecting selections of a subset of the plurality of selectable objects; and
in response to detecting the selections, displaying a subset of the plurality of search results to which the subset of the plurality of selectable objects correspond within a selectable bounded region displayed in the search results page.
13. The medium of claim 12, the operations further comprising:
displaying another plurality of search results in another search results page accessible from the search results page, wherein each of the other plurality of search results references a respective resource determined by the search engine as satisfying the search query;
detecting a selection of a selectable object displayed adjacent a particular one of the other plurality of search results; and
in response to detecting the selection, displaying the particular one of the other plurality of search results within the selectable bounded region together with the subset of the plurality of search results.
14. The medium of claim 12, the operations further comprising:
detecting a selection of the bounded region; and
in response to detecting the selection of the bounded region, displaying resources addressed by the subset of the plurality of search results in a user interface.
15. The medium of claim 14, wherein displaying the resources addressed by the subset of the plurality of search results in the user interface comprises displaying each resource under a corresponding tabbed webpage in the user interface.
16. The medium of claim 12, the operations further comprising displaying a selectable object that corresponds to the bounded region in the search results, wherein detecting the selection, of the bounded region comprises detecting a selection of the selectable object that
corresponds to the bounded region.
17. The medium of claim 12, the operations further comprising displaying the subset of the plurality of selectable objects such that selectable objects in the subset are distinguishable from selectable objects not in the subset.
18. The medium of claim 17, the operations further comprising displaying the subset of the plurality of selectable objects in a color that is different from remaining selectable objects.
19. The medium of claim 12, the operations further comprising:
detecting a selection of a search result displayed within the bounded region; and in response to detecting the selection of the search result displayed within the bounded region, displaying a resource that the selected search result references in a user interface.
20. The medium of claim 12, wherein each search result includes an identifier which includes a Uniform Resource Locator.
21. The medium of claim 12, the operations further comprising:
displaying, instead of the plurality of search results, another plurality of search results in the search results page, wherein each of the other plurality of search results references a respective another resource determined by the search engine as satisfying another search query;
determining that one of the other plurality of search results is included in the subset of the plurality of search results to which the selected subset of the plurality of selectable objects corresponds; and
in response, displaying a highlighting within a selectable object displayed adjacent to the one of the other plurality of search results.
22. The medium of claim 12, wherein the plurality of search results are displayed in the search results page in response to receiving the search query during a search session, the operations further comprising:
receiving the search query during another search session; and
in response to receiving the search query during the other search session, displaying the subset of the plurality of search results to which the subset of the plurality of selectable objects correspond at a top of search results.
23. A system comprising:
data processing apparatus; and
a computer storage medium encoded with a computer program, the program comprising instructions that when executed by the data processing apparatus cause the data processing apparatus to perform operations comprising:
displaying a plurality of search results in a search results page, wherein each search result references a respective resource determined by a search engine as satisfying a search query;
displaying a plurality of selectable objects corresponding to the plurality of search results in the search results page, each selectable object displayed adjacent to a respective search result to which the selectable object corresponds;
detecting selections of a subset of the plurality of selectable objects; and in response to detecting the selections, displaying a subset of the plurality of search results to which the subset of the plurality of selectable objects correspond within a selectable bounded region displayed in the search results page.
24. The system of claim 23, the operations further comprising:
displaying another plurality of search results in another search results page accessible from the search results page, wherein each of the other plurality of search results references a respective resource determined by the search engine as satisfying the search query;
detecting a selection of a selectable object displayed adjacent a particular one of the other plurality of search results; and
in response to detecting the selection, displaying the particular one of the other plurality of search results within the selectable bounded region together with the subset of the plurality of search results.
25. The system of claim 23, the operations further comprising:
detecting a selection of the bounded region; and
in response to detecting the selection of the bounded region, displaying resources addressed by the subset of the plurality of search results in a user interface.
26. The system of claim 25, wherein displaying the resources addressed by the subset of the plurality of search results in the user interface comprises displaying each resource under a corresponding tabbed webpage in the user interface.
27. The system of claim 23, the operations further comprising displaying a selectable object that corresponds to the bounded region in the search results, wherein detecting the selection of the bounded region comprises detecting a selection of the selectable object that corresponds to the bounded region.
28. The system of claim 23, the operations further comprising displaying the subset of the plurality of selectable objects such that selectable objects in the subset are distinguishable from selectable objects not in the subset.
29. The system of claim 28, the operations further comprising displaying the subset of the plurality of selectable objects in a color that is different from remaining selectable objects.
30. The system of claim 23, the operations further comprising:
detecting a selection of a search result displayed within the bounded region; and in response to detecting the selection of the search result displayed within the bounded region, displaying a resource that the selected search result references in a user interface.
31. The system of claim 23, wherein each search result includes an identifier which includes a Uniform Resource Locator.
32. The system of claim 23, the operations further comprising:
displaying, instead of the plurality of search results, another plurality of search results in the search results page, wherein each of the other plurality of search results references a respective another resource determined by the search engine as satisfying another search query;
determining that one of the other plurality of search results is included in the subset of the plurality of search results to which the selected subset of the plurality of selectable objects corresponds; and
in response, displaying a highlighting within a selectable object displayed adjacent to the one of the other plurality of search results.
33. The system of claim 23, wherein the plurality of search results are displayed in the search results page in response to receiving the search query during a search session, the operations further comprising:
receiving the search query during another search session; and
in response to receiving the search query during the other search session, displaying the subset of the plurality of search results to which the subset of the plurality of selectable objects correspond at a top of search results.
PCT/CN2011/083045 2011-11-28 2011-11-28 Grouping search results WO2013078591A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/083045 WO2013078591A1 (en) 2011-11-28 2011-11-28 Grouping search results

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/083045 WO2013078591A1 (en) 2011-11-28 2011-11-28 Grouping search results

Publications (1)

Publication Number Publication Date
WO2013078591A1 true WO2013078591A1 (en) 2013-06-06

Family

ID=48534583

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/083045 WO2013078591A1 (en) 2011-11-28 2011-11-28 Grouping search results

Country Status (1)

Country Link
WO (1) WO2013078591A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110073A (en) * 2006-07-20 2008-01-23 朗迅科技公司 Method and system for highlighting and adding commentary to network web page content
US20110179004A1 (en) * 2009-01-15 2011-07-21 Safar Samir H Method and system for an internet browser add-on providng simultaneous multiple interactive websites

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110073A (en) * 2006-07-20 2008-01-23 朗迅科技公司 Method and system for highlighting and adding commentary to network web page content
US20110179004A1 (en) * 2009-01-15 2011-07-21 Safar Samir H Method and system for an internet browser add-on providng simultaneous multiple interactive websites

Similar Documents

Publication Publication Date Title
JP6173546B2 (en) Redirect reduction
US10911554B2 (en) Method and system for tracking web link usage
US9547721B2 (en) Native application search results
JP6050327B2 (en) Dynamic image display area and image display in web search results
US10073911B2 (en) Deep links for native applications
CN106687949B (en) Search results for native applications
US8812733B1 (en) Transport protocol independent communications library
US20120143852A1 (en) Administration of search results
US9146972B2 (en) Ranking of presentation modes for particular content
US20170177706A1 (en) Category-Based Search System and Method for Providing Application Related Search Results
US8527489B1 (en) Suggesting a search engine to search for resources
US9465814B2 (en) Annotating search results with images
US8595181B2 (en) Report preview caching techniques in a multi-tenant database
WO2013177769A1 (en) Browser-driven retrieval of content for webpages
US10223460B2 (en) Application partial deep link to a corresponding resource
US11003728B1 (en) Native application search results
WO2016011699A1 (en) Method and device for use in configuring navigation page of browser
WO2013078591A1 (en) Grouping search results
JP7104091B2 (en) Reduced latency when downloading electronic resources using multiple threads
US20150293697A1 (en) Assigning keyboard shortcut keys to web page resource locators
RU2774319C2 (en) Deep links for native applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11876760

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11876760

Country of ref document: EP

Kind code of ref document: A1