CA2635783C - Dynamic search box for web browser - Google Patents
Dynamic search box for web browser Download PDFInfo
- Publication number
- CA2635783C CA2635783C CA2635783A CA2635783A CA2635783C CA 2635783 C CA2635783 C CA 2635783C CA 2635783 A CA2635783 A CA 2635783A CA 2635783 A CA2635783 A CA 2635783A CA 2635783 C CA2635783 C CA 2635783C
- Authority
- CA
- Canada
- Prior art keywords
- search
- query
- search query
- queries
- specific user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3325—Reformulation based on results of preceding query
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
Abstract
A system may receive one or more terms of a search query. The system, may automatically identify prior search queries that include the one or more terms of the search query from a history of prior search queries. The system may automatically identify possible spelling corrected search queries based on the one or more terms of the search queries. The system may automatically receive remote server-based query completion suggestions including the one or more terms of the search query. The system may present query refinement options, the query refinement box being populated with the prior search queries as suggested queries for possible selection by a user, the identified possible spelling corrected search queries, and the received query completion suggestions.
Description
DYNAMIC SEARCH BOX FOR WEB BROWSER
BACKGROUND
Fiel<d of the Invention Implementations relate generally to informat.ion retrieval and, more particularly, to providing potential refinements and optiinizations for query submissions.
Descrirtion of Related Art The Wor1d Wide Web ("web") contains a vast amount of information. Locating a desired portaon of the information, however, can be challenging. This problem is compounded bccaitse the amount of infoi-mation on the web and tlze number of new users inexperienced. at web searolaing are growing rapidly.
Search engines atteznpt,to return hyperlinks to web pages in whieh a user is interested. Generally, search engines base their determination of the user's interest on search ternis (called a search query) entered by the usar.
The goal of the search engine is to provide links to high quality, relevant results (e.g., web pages) to the user based on the search query. Typically, the search engine accamplishes this by matching the tei-ms in the search query to a corpus of pre-stored web pages. Web pages that contain the user's searoh terms are identified as search results and are rel:urnecl to the user as links.
Many companies currently offer add-on toolbars to improve the users' search experience. Oftentimes, these add-on toolbars pravide functionality that is not available in existing web browsers. For example, an add-on toolbar rnay permit a user to perform a search right from the toolbar, permit tenns to bc highlighted on a web page, provide pop-up protection, and do other things to assist the user in finding information of interest.
SUMMARY
According to one aspect, a method may include receiving one or more terma of a searoh query;
automatically identifying prior search querims including the one or more terms of the search query from a history of prior search queries; and presenting query refinement options including the prior search queries as suggested queries for possible selection by a user.
According to another aspect, a system may include means for presenting a toolbar in a web browser, the toolbar rttay include a search box; means for receiving one or more terms of a search query into the search box;
means for automatically identifying prior search queries that include the one or more terms of the search query from a history of prior search queries; means for spell-checlcing the one or more terms of the search query to identify potential corrections to the one or more terms of the search query; and means for presenting query refinement options associated with the seareh box, the query refinement box configured to include the previously received search queries and the identiffed potential corrections as auggested queries for poasible selection by a user.
..I_ According to a farther aspect, a method, performed by a device, may include providing a dynamic search box selectable object within a web browser applioati.on window; receiving a search query within the dynamic search box selectable object; identifying local historical searah queries matching at least a portion of the received search query; identifying possible spelling corrections to the received search query;
identifying server-based historical search queries beginning with the received search query; and populating a zefnement box associated with the dynamic sdarch box selectable object with the identified local historical search queries, the identified possible spetling corrections, and the identified server-basod historical search queries.
According to still another aspect, a method may be provided. The method may include receivilig a searali query ; identifying query tokens within the search query, wherein the query tokens relate to query operations and.
syntax; and graphically presenting the search query to represent differences in the identified query tokens.
According to yet another aspect a computer-readable medium that stores instructions executable by a client device is provided. The computer-readable medium may include instructions for causing the client device to receive one or more terms of a search query; instructions for causing the client device to automatically identify prior search queries including the one or more terms of the search query from a history of prior search queries;
i.nstructions for causing the client device to automatically identify possible spelling corrected queries based on the one or more terms of the search query; and instructions for causing the client device to present query refinement options to the user, the query refinement options including the previously received search queries as suggested queries and the possible spelling coiaected queries for possible selection by a user.
13RIEF DIISC.RIPTION 0-F THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, explain the invention. In the drawings, Iig. I is an exeinplary diagram lllustrating a concept consistent with the principles of the invention;
Fig. 2 is an exemplary diagram of a network in which systems and methods consistent with the principles of the invention may be implernented;
Fig. 3 is an exemplary diagram o~a client or server of Fig_ 2;
Fig. 4 is a diagram of a portion of an exemplary computer-readable medium that may be used by a client of Fig. 2;
Fig. 5 is an exemplary diagram of a graphical user interface that illustrates various implementations of a dynamic search box;
Figs. 6 and 7 are ~lowcharts of exemplary processing for iinplementing a dynamic search box feature; and
BACKGROUND
Fiel<d of the Invention Implementations relate generally to informat.ion retrieval and, more particularly, to providing potential refinements and optiinizations for query submissions.
Descrirtion of Related Art The Wor1d Wide Web ("web") contains a vast amount of information. Locating a desired portaon of the information, however, can be challenging. This problem is compounded bccaitse the amount of infoi-mation on the web and tlze number of new users inexperienced. at web searolaing are growing rapidly.
Search engines atteznpt,to return hyperlinks to web pages in whieh a user is interested. Generally, search engines base their determination of the user's interest on search ternis (called a search query) entered by the usar.
The goal of the search engine is to provide links to high quality, relevant results (e.g., web pages) to the user based on the search query. Typically, the search engine accamplishes this by matching the tei-ms in the search query to a corpus of pre-stored web pages. Web pages that contain the user's searoh terms are identified as search results and are rel:urnecl to the user as links.
Many companies currently offer add-on toolbars to improve the users' search experience. Oftentimes, these add-on toolbars pravide functionality that is not available in existing web browsers. For example, an add-on toolbar rnay permit a user to perform a search right from the toolbar, permit tenns to bc highlighted on a web page, provide pop-up protection, and do other things to assist the user in finding information of interest.
SUMMARY
According to one aspect, a method may include receiving one or more terma of a searoh query;
automatically identifying prior search querims including the one or more terms of the search query from a history of prior search queries; and presenting query refinement options including the prior search queries as suggested queries for possible selection by a user.
According to another aspect, a system may include means for presenting a toolbar in a web browser, the toolbar rttay include a search box; means for receiving one or more terms of a search query into the search box;
means for automatically identifying prior search queries that include the one or more terms of the search query from a history of prior search queries; means for spell-checlcing the one or more terms of the search query to identify potential corrections to the one or more terms of the search query; and means for presenting query refinement options associated with the seareh box, the query refinement box configured to include the previously received search queries and the identiffed potential corrections as auggested queries for poasible selection by a user.
..I_ According to a farther aspect, a method, performed by a device, may include providing a dynamic search box selectable object within a web browser applioati.on window; receiving a search query within the dynamic search box selectable object; identifying local historical searah queries matching at least a portion of the received search query; identifying possible spelling corrections to the received search query;
identifying server-based historical search queries beginning with the received search query; and populating a zefnement box associated with the dynamic sdarch box selectable object with the identified local historical search queries, the identified possible spetling corrections, and the identified server-basod historical search queries.
According to still another aspect, a method may be provided. The method may include receivilig a searali query ; identifying query tokens within the search query, wherein the query tokens relate to query operations and.
syntax; and graphically presenting the search query to represent differences in the identified query tokens.
According to yet another aspect a computer-readable medium that stores instructions executable by a client device is provided. The computer-readable medium may include instructions for causing the client device to receive one or more terms of a search query; instructions for causing the client device to automatically identify prior search queries including the one or more terms of the search query from a history of prior search queries;
i.nstructions for causing the client device to automatically identify possible spelling corrected queries based on the one or more terms of the search query; and instructions for causing the client device to present query refinement options to the user, the query refinement options including the previously received search queries as suggested queries and the possible spelling coiaected queries for possible selection by a user.
13RIEF DIISC.RIPTION 0-F THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, explain the invention. In the drawings, Iig. I is an exeinplary diagram lllustrating a concept consistent with the principles of the invention;
Fig. 2 is an exemplary diagram of a network in which systems and methods consistent with the principles of the invention may be implernented;
Fig. 3 is an exemplary diagram o~a client or server of Fig_ 2;
Fig. 4 is a diagram of a portion of an exemplary computer-readable medium that may be used by a client of Fig. 2;
Fig. 5 is an exemplary diagram of a graphical user interface that illustrates various implementations of a dynamic search box;
Figs. 6 and 7 are ~lowcharts of exemplary processing for iinplementing a dynamic search box feature; and
2 Fig. 8 is an exemplary diagram of a graphical user interface that illustrates a context highlighting feature provided by the dynamic search box feature.
DETAILED DESCRIMON
The following detailed description of the invention refers to the accoinpanying drawings. TiZe same referenCe numbers iit different drawings may identify the same or similar elements. Also, the following detailed description does not liniit the invention.
OVERVIEW
Implementations consistent with the principles of the invention may relate to a dynamic seareh box for providing query ref'rnement assistance and/or suggestions for assisting users in more rapidly accessing desired information. For example, in one implementation, user entry of initial query characters may result in suggested completed queries being provided to the user for potential selection. In additional implementations, upon initial searelz cbaracter entiy, users may be provided with additional rel;inement options, such as search eontdxt options, search term syntax descriptions, as well as additional query related actions.
The description to follow will desoribe the dynarnic search box as inoluded as part of an add-on toolbar_ It should be understood that the description may equally apply to other implementations. For example, the dynamic search box may be implemented as a toolbar option in a web browser toolbar, a selectable object embeddod within a document currently being displayed within a web browser window, or a function included within a frame within a web browser window. It should be appreciated to those sleilled in the art that in yet other embodiments, other m.echanisms-wl-ich may or may not be integrated within a browser-for providing the dynamic search box functionality described herein may be used without departing from the spirit of the present invention. The phrase "dynamic search box," as used herein, will be used to refer to aay ofthese implementations oftlte dynamic search box functionality.
Fig. 1 is an exemplary diagram illustrating concepts consistent with the principles of the invention. As shown in Fig. 1, an add-on toolbar 100 may be associated with a web browser 110 displaying a web document 112.
The add-on toolbar may include a dynamic search box 114 as well as one or more buttons. Dynamic search box 114 may perrnit the user to enter one or more characters and have a search pertormed based on the entered term(s).
In accordance with principles of the invention, upon receipt of at least one charaoter in dynamic searob box 114, a refinement drop-down box 116 may be automatically provided within web browser 110. More specifically, refinement drop-down box 116 may include query refinements or suggestions based on the character(s) received in 3l} dynamic search box 114. Alternatively, refinement drop-down box 116 may also provide additional query refinement ~unctionality.
DETAILED DESCRIMON
The following detailed description of the invention refers to the accoinpanying drawings. TiZe same referenCe numbers iit different drawings may identify the same or similar elements. Also, the following detailed description does not liniit the invention.
OVERVIEW
Implementations consistent with the principles of the invention may relate to a dynamic seareh box for providing query ref'rnement assistance and/or suggestions for assisting users in more rapidly accessing desired information. For example, in one implementation, user entry of initial query characters may result in suggested completed queries being provided to the user for potential selection. In additional implementations, upon initial searelz cbaracter entiy, users may be provided with additional rel;inement options, such as search eontdxt options, search term syntax descriptions, as well as additional query related actions.
The description to follow will desoribe the dynarnic search box as inoluded as part of an add-on toolbar_ It should be understood that the description may equally apply to other implementations. For example, the dynamic search box may be implemented as a toolbar option in a web browser toolbar, a selectable object embeddod within a document currently being displayed within a web browser window, or a function included within a frame within a web browser window. It should be appreciated to those sleilled in the art that in yet other embodiments, other m.echanisms-wl-ich may or may not be integrated within a browser-for providing the dynamic search box functionality described herein may be used without departing from the spirit of the present invention. The phrase "dynamic search box," as used herein, will be used to refer to aay ofthese implementations oftlte dynamic search box functionality.
Fig. 1 is an exemplary diagram illustrating concepts consistent with the principles of the invention. As shown in Fig. 1, an add-on toolbar 100 may be associated with a web browser 110 displaying a web document 112.
The add-on toolbar may include a dynamic search box 114 as well as one or more buttons. Dynamic search box 114 may perrnit the user to enter one or more characters and have a search pertormed based on the entered term(s).
In accordance with principles of the invention, upon receipt of at least one charaoter in dynamic searob box 114, a refinement drop-down box 116 may be automatically provided within web browser 110. More specifically, refinement drop-down box 116 may include query refinements or suggestions based on the character(s) received in 3l} dynamic search box 114. Alternatively, refinement drop-down box 116 may also provide additional query refinement ~unctionality.
3 For example, refinement drop-down box 116 may provide users with easily selectable options for rnodifying a search context for the present query or for performing additional search or query related fnnctions. As used herein, the phrase "search context" refers to the corpus of documents searched in response to the received and/or refined terms. For example, users may perform a web search, a product search, an image search, etc. An additional iinplementation consistent with principles of the present invention may provide syntax highlighting for the received aud/or refined query terms. Iri this manner, users may be more aware of the manner in which the requestcd search is performed.
A"document," as the term is used herein, is to be broadly interpreted to include any niachine-reacÃable and machine-storable work product. A document may include, for example, an e-mail, a web site, a file, a combination, of files, one or more files with embedded links to other files, a news group posting, a blog, a business listing, an electronic version ofprinted text, a web advertisement, etc. Tn the context of the Internet, a connnon documezxt is a web page. Documents often include textual in.Porniatien and may include embedded information (such as meta information, images, hyperlinks, etc.) and/or embedded instructions (such as Javascript, etc.). A"Iink," as the term is used herein, is to be broadly intBrpreted to include any reference to/from a document from/to another document or another part of the same document.
EXEMPLARY NBTWOItIC CONFIGURATION
Fig. 2 is an exemplary diagram of a network 200 in which systems and methods consistent with the principles of the invention may be isnplemented. Network 200 may include multiple clients 210 connected to multiple servers 220-240 via a network 250. Two clients 210 and three servers 220-240 have been illustrated as connected to network 250 for simplicity. In practice, there may be more or fewer clients and servers. Also, in some instances, a client may perform a function of a server and a server may perform a function of a client.
Clients 2 10 may include client entities. An entity may be defined as a device, such as a personal computer, a wireless telephone, a personal digital assistant. (PD.A,), a lap top, or another type of computation or comrnunication device, a thread or process running on one of these devices, and/or an object executable by one of these devices.
Servers 220-240 may include server entxties that gather, process, search, and/or maintain documents in a manner consistent with the pruzciples of the invention. In an implementation consistent with the principles of th.e invention, server 220 may include a search engine 225 usable by clients 210.
Server 220 ntay crawl a corpus of documents, index the docurnents, and store infozxnation associated with the documents in a repository of documents. Servers 230 and 240 may store or maintain documents that may be crawled or analyzed by server 220.
Wbile servers 220-240 are shown as separate entities, it may be possible for one or more of servers 220-240 to perfoi-m one or more of the functions of another one or more of servers 220-240. For example, it may be
A"document," as the term is used herein, is to be broadly interpreted to include any niachine-reacÃable and machine-storable work product. A document may include, for example, an e-mail, a web site, a file, a combination, of files, one or more files with embedded links to other files, a news group posting, a blog, a business listing, an electronic version ofprinted text, a web advertisement, etc. Tn the context of the Internet, a connnon documezxt is a web page. Documents often include textual in.Porniatien and may include embedded information (such as meta information, images, hyperlinks, etc.) and/or embedded instructions (such as Javascript, etc.). A"Iink," as the term is used herein, is to be broadly intBrpreted to include any reference to/from a document from/to another document or another part of the same document.
EXEMPLARY NBTWOItIC CONFIGURATION
Fig. 2 is an exemplary diagram of a network 200 in which systems and methods consistent with the principles of the invention may be isnplemented. Network 200 may include multiple clients 210 connected to multiple servers 220-240 via a network 250. Two clients 210 and three servers 220-240 have been illustrated as connected to network 250 for simplicity. In practice, there may be more or fewer clients and servers. Also, in some instances, a client may perform a function of a server and a server may perform a function of a client.
Clients 2 10 may include client entities. An entity may be defined as a device, such as a personal computer, a wireless telephone, a personal digital assistant. (PD.A,), a lap top, or another type of computation or comrnunication device, a thread or process running on one of these devices, and/or an object executable by one of these devices.
Servers 220-240 may include server entxties that gather, process, search, and/or maintain documents in a manner consistent with the pruzciples of the invention. In an implementation consistent with the principles of th.e invention, server 220 may include a search engine 225 usable by clients 210.
Server 220 ntay crawl a corpus of documents, index the docurnents, and store infozxnation associated with the documents in a repository of documents. Servers 230 and 240 may store or maintain documents that may be crawled or analyzed by server 220.
Wbile servers 220-240 are shown as separate entities, it may be possible for one or more of servers 220-240 to perfoi-m one or more of the functions of another one or more of servers 220-240. For example, it may be
4 possible that two or more of servers 220-240 are implemented as a single server. It may also be possible for a single one of servers 220-240 to be implemented as two or more separate (and possibly distributed) devices.
Network 250 may include a local area network (LAN), a wide area network (WAN), a telephone network, such as the Public Switched Telephone Network (PSTN), an intranct, the Internet, or a combination of networks.
Clients 210 and servers 220-240 inay connect to network 250 via wired, wireless, and/or optical connections.
EXEMPLARY Cb,IBNT/SERVER ARCHITECTUl2E
Fig_ 3 is an exemplary diagram of a client or server entity (hereinafter called "client/server entity"), which may correspond to one or more of clients 210 and/or servers 220-240. The client/server entity may include a bus 310, a processor 320, a main memory 330, a read only memory (ROM) 340, a storage device 350, an input device 360, an output device 370, and a communication interface 389. Bus 310 may include a path that pernlits communication among the elements of the client/server entity.
Processor 320 may include a processor, microproce:ssor, or processing logic that may interpret and execute instructions. Main menaory 330 may include a randonL access mernory (RAM) or another type of dynamic storage device that rnay store 'snformation and instructions for execution by processor 320. ROM 340 may include a ROM
device or another type of static storage device that may store static infornxation and instructions for use by processor 320. Storage device 350 may include a magnetic and/or optical recording medium and its corresponding drive, Tnpnt device 360 may inciude a mechanism that permits an operator to input information to the client/server entity, such as a keyboard, a mouse, a pen, voice recognition and/or biometric mechanisms, etc.
Output device 370 may include a mechanism that outputs information to the operator, including a display, a printer, a speaker, ete. Conarnunieation interface 380 may include any transceiver-like mechanism that enables the clientlserver entity to communicate with other devices and/or systems. For example, conununication interface 380 may include mechanisms for communicating with another device or system via a network, such as network 250.
As will be described in detail below, the client/server entity, consistent with the principles of the invention, may perform certain search-reiated operaiions. The client/server entity may perform these operations in response to processor 320 executing software instruetions contained in a computer readable medium, such as memory 330, A
computer-readable medium may be defaned as a physical or logical memory device and/or carrier wave.
The software instructions may be read into memory 330 from another computer-readable medium, such as data storage device 350, or from another device via communication interface 380. The software instru.etians contained in inemory 330 may cause processor 320 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes
Network 250 may include a local area network (LAN), a wide area network (WAN), a telephone network, such as the Public Switched Telephone Network (PSTN), an intranct, the Internet, or a combination of networks.
Clients 210 and servers 220-240 inay connect to network 250 via wired, wireless, and/or optical connections.
EXEMPLARY Cb,IBNT/SERVER ARCHITECTUl2E
Fig_ 3 is an exemplary diagram of a client or server entity (hereinafter called "client/server entity"), which may correspond to one or more of clients 210 and/or servers 220-240. The client/server entity may include a bus 310, a processor 320, a main memory 330, a read only memory (ROM) 340, a storage device 350, an input device 360, an output device 370, and a communication interface 389. Bus 310 may include a path that pernlits communication among the elements of the client/server entity.
Processor 320 may include a processor, microproce:ssor, or processing logic that may interpret and execute instructions. Main menaory 330 may include a randonL access mernory (RAM) or another type of dynamic storage device that rnay store 'snformation and instructions for execution by processor 320. ROM 340 may include a ROM
device or another type of static storage device that may store static infornxation and instructions for use by processor 320. Storage device 350 may include a magnetic and/or optical recording medium and its corresponding drive, Tnpnt device 360 may inciude a mechanism that permits an operator to input information to the client/server entity, such as a keyboard, a mouse, a pen, voice recognition and/or biometric mechanisms, etc.
Output device 370 may include a mechanism that outputs information to the operator, including a display, a printer, a speaker, ete. Conarnunieation interface 380 may include any transceiver-like mechanism that enables the clientlserver entity to communicate with other devices and/or systems. For example, conununication interface 380 may include mechanisms for communicating with another device or system via a network, such as network 250.
As will be described in detail below, the client/server entity, consistent with the principles of the invention, may perform certain search-reiated operaiions. The client/server entity may perform these operations in response to processor 320 executing software instruetions contained in a computer readable medium, such as memory 330, A
computer-readable medium may be defaned as a physical or logical memory device and/or carrier wave.
The software instructions may be read into memory 330 from another computer-readable medium, such as data storage device 350, or from another device via communication interface 380. The software instru.etians contained in inemory 330 may cause processor 320 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes
5 consistent with the principles of the invention. Thus, implementations consistent with the principles of the invention are not limited to any specific combination of liaardware circuitry and software.
EXEivIT'LARY CQMPUTF.,R-ItE.AD.A:C3I,F' MEDIUM
Fig. 4 is a diagram of a portion of an exemplary computer-readable medium 400 that may be used by a client 210. In one implementation, computer-readable medium 400 may correspond to memory 330 of a client 210.
The portion of computer-readable medium 400 illustrated in Fig. 4 may include an operating system 410, browser software 420, toolbar software 430, and dynamic search box software 440.
More specifically, operating systerix 410 n;ay include operating system software, such as the Microsoft Windows*, Unix, or Linux operating systems. Browser software 420 may include software associated with a web browser, such as the MicrosofO Internet Explorer, Netscape Navigator ', Mozilla Firefoxo, or Apple Safarie browser.
Toolbar software 430 may cause a user interface object, such as an add-on toolbar, to be presented within a web browser window. The user interface object may operate in conjunction with the web browser. In another impleinentation, the user interface object may be part of the web browser. In this latter implementation, the web browser may perform the fia.nctions of the user interface object. In yet another implementat3on, the user interface object may be a process separate from the web browser. For example, the user interface object may interface between the web browser and network 250.
Toolbar software 430 may be automatically activated upon initiation of the web browser. Alternatively, toolbar software 430 may be activated when instructed by a user. In either case, toolbar software 430 may take the form of a user interface object, as described above. Toolbar software 430 may include dynamic search box software 440 for presenting and implementing the dynamic search box functionalities described herein.
Fig. 5 is an exemplary diagram of a graphical user interface 500 that illustrates various implementations of the search box feature. Graplzical user interface 500 may, for example, eorrespond to a web browser window that currently displays a document 502.
According to one implementation, t.1ze dynamic search box may be implemented as a text entry box 504 within an add-on toolbar 506. T.rx addition to text entry box 504, add-on toolbar 506 may include additional search boxes, software buttons, and/or menu elements selectable by a user to initiate different functions performed by add-on toolbar 506. In the present implementation, a user may initiate features of the dynamic search box by selecting (e.g., clicking on) text entry box 504 on the add-on toolbar 506. According to another implementation, the dynamic search box .may be implemented as text entry box 508 embedded within the document currently being displayed within a web browser window. It should be appreciated to those skilled in the other art that in yet other
EXEivIT'LARY CQMPUTF.,R-ItE.AD.A:C3I,F' MEDIUM
Fig. 4 is a diagram of a portion of an exemplary computer-readable medium 400 that may be used by a client 210. In one implementation, computer-readable medium 400 may correspond to memory 330 of a client 210.
The portion of computer-readable medium 400 illustrated in Fig. 4 may include an operating system 410, browser software 420, toolbar software 430, and dynamic search box software 440.
More specifically, operating systerix 410 n;ay include operating system software, such as the Microsoft Windows*, Unix, or Linux operating systems. Browser software 420 may include software associated with a web browser, such as the MicrosofO Internet Explorer, Netscape Navigator ', Mozilla Firefoxo, or Apple Safarie browser.
Toolbar software 430 may cause a user interface object, such as an add-on toolbar, to be presented within a web browser window. The user interface object may operate in conjunction with the web browser. In another impleinentation, the user interface object may be part of the web browser. In this latter implementation, the web browser may perform the fia.nctions of the user interface object. In yet another implementat3on, the user interface object may be a process separate from the web browser. For example, the user interface object may interface between the web browser and network 250.
Toolbar software 430 may be automatically activated upon initiation of the web browser. Alternatively, toolbar software 430 may be activated when instructed by a user. In either case, toolbar software 430 may take the form of a user interface object, as described above. Toolbar software 430 may include dynamic search box software 440 for presenting and implementing the dynamic search box functionalities described herein.
Fig. 5 is an exemplary diagram of a graphical user interface 500 that illustrates various implementations of the search box feature. Graplzical user interface 500 may, for example, eorrespond to a web browser window that currently displays a document 502.
According to one implementation, t.1ze dynamic search box may be implemented as a text entry box 504 within an add-on toolbar 506. T.rx addition to text entry box 504, add-on toolbar 506 may include additional search boxes, software buttons, and/or menu elements selectable by a user to initiate different functions performed by add-on toolbar 506. In the present implementation, a user may initiate features of the dynamic search box by selecting (e.g., clicking on) text entry box 504 on the add-on toolbar 506. According to another implementation, the dynamic search box .may be implemented as text entry box 508 embedded within the document currently being displayed within a web browser window. It should be appreciated to those skilled in the other art that in yet other
6 implementations, other mechanisms-which may or may not be integrated within a web browser-for providing functionality of the dynamic search box feature described herein may be used without departing from the spirit of the present invention.
Text entry box 504 may be configured to receive one or more characters that the user wishes to include as a basis for a search query. As shown in Fig. 5, in the present example, the user has initially input "2007 ford mus"
as a start for a potential search query. In accordance with principles of the invention, dynamic search box software 440 may identify the input terms and initiate a query refinement search based on the received terms even as the user continues to add to the search query. The results of the query i-cfxneinent search may be autoniatically presented to the user in a refinement box 510. As the user continues to modify the contents of text entry box 504, the content of the refinement drop-down box 510 also dynamically adjusts accordingly. In one implem.entation consistent with principles of the invention, text entry box 504 and/or refxnezirxent drop-down box 510 may be dynamically resized based on the information included therein. For example, in situations where a user submits a search query longer than the text entry box may initially display, text entry box 504 may be resized to allow complete display of the received terms. Similarly, refinement drop-down box 510 iuay be dynamically resized in both width and length to allow for display of suggested queries or search results exceeding an initial box size.
In accordance with principles of the invention, refinement drop-down box 510 may be configured to display several types of query refinement information. More particularly, query refmements based upon potential misspellings or other typographical errors within the received terms tnay be presented to the user in a "did you mean" section 512. Query refinements relating to the received terms and identified within a prior history of client 210 may be presented to the user in a "history" section 514. Query refinements relating to the received terms and identified based on non-tzser==speoxlxxc historical search inforznation may be presented to the user in a "suggestions"
section 516.
In addition to providing the query refinement options set forth above, refinement drop-down box 510 may also provide users with several additional searcl.i related functions. For example, a context section 518 may inform the user of the present search context and enable the user to select a different search context. As shown in Fig. 5, various search contexts may be displayed in context section 518 with m active context being highlighted. Tn one exemplary implementation, users may select an alternate search context in various ways. For example, a user may select an alternate search context by using a mouse to click on the desired context. Alternately, users may scroll through the various search contexts by using pre-defined keystrokes on a user input device. In one implementation, selection of the page up and page down keys enables users to progress forward and backward through the listing of
Text entry box 504 may be configured to receive one or more characters that the user wishes to include as a basis for a search query. As shown in Fig. 5, in the present example, the user has initially input "2007 ford mus"
as a start for a potential search query. In accordance with principles of the invention, dynamic search box software 440 may identify the input terms and initiate a query refinement search based on the received terms even as the user continues to add to the search query. The results of the query i-cfxneinent search may be autoniatically presented to the user in a refinement box 510. As the user continues to modify the contents of text entry box 504, the content of the refinement drop-down box 510 also dynamically adjusts accordingly. In one implem.entation consistent with principles of the invention, text entry box 504 and/or refxnezirxent drop-down box 510 may be dynamically resized based on the information included therein. For example, in situations where a user submits a search query longer than the text entry box may initially display, text entry box 504 may be resized to allow complete display of the received terms. Similarly, refinement drop-down box 510 iuay be dynamically resized in both width and length to allow for display of suggested queries or search results exceeding an initial box size.
In accordance with principles of the invention, refinement drop-down box 510 may be configured to display several types of query refinement information. More particularly, query refmements based upon potential misspellings or other typographical errors within the received terms tnay be presented to the user in a "did you mean" section 512. Query refinements relating to the received terms and identified within a prior history of client 210 may be presented to the user in a "history" section 514. Query refinements relating to the received terms and identified based on non-tzser==speoxlxxc historical search inforznation may be presented to the user in a "suggestions"
section 516.
In addition to providing the query refinement options set forth above, refinement drop-down box 510 may also provide users with several additional searcl.i related functions. For example, a context section 518 may inform the user of the present search context and enable the user to select a different search context. As shown in Fig. 5, various search contexts may be displayed in context section 518 with m active context being highlighted. Tn one exemplary implementation, users may select an alternate search context in various ways. For example, a user may select an alternate search context by using a mouse to click on the desired context. Alternately, users may scroll through the various search contexts by using pre-defined keystrokes on a user input device. In one implementation, selection of the page up and page down keys enables users to progress forward and backward through the listing of
7
8 PCT/US2006/062651 available search contexts. In still another implementation, context section 518 is displayed upozz selection of a context icon 519 included within text box 504.
An actions section 520 may present additional options relating to the operation of dynamic search box software 440. For example, actions section 520 may inciude an explain query option 522, a clear history option 524, and a retura, to a web search option 526. Additiotral details regarding options 522-526 will be set forth in additional detail below.
In some implementations consistent with principles of the invention, additional search-related in#'ormation may be presented to the user in rehnemcnt drop-down box 510. For example, a complete or partial listing of search resutts may be presented in response to specific types of queries ar queries received for selected search contexts.
Fo'r' example, where a user has selected local bookznarks as a search context, terms received into text entry box 504 may result in matching bookmarks being retrieved and displayed in refinement drop-down box 510. Selection of an identified bookmark may then result in the display of the web page associated with the selected bookmark.
Siznilarly, search results may be provided in response to traditional web searches as well, with the result listing dynamically changing upon receipt of additional terms or selection of an available query refinement suggestion. In this manner, users may more quickly access search results associated with input or selected query terms.
EXEMPLARY PROCESSIN'G
Figs. 6 and 7 are flowcharts of an exemplary process for implementing a dynaxnic search box feature. In one embodiment, the processing of Figs. 6 and 7 may be performed by one or more software and/or hardware components within client 210, server 220, or a combination of client 210 and server 220. In another implementation, the processing may be performed by one or more sofiware and/or hardware components within another device or a group of devices separate from or including elient 210 and/or server 220.
Turning specifically to Fig. 6, processing may begin with text entry box 504 receiving one or more terms from a user to form the basis for a search query (act 610). As used herein, "term" may include one or more characters of a search qitery or possibly less than the entire search query.
In response to the received terms, dynamic searah box software 440 may perform speli-checking on the received terms (act 612). In accordance with implementations consistent with principles of the invention, the spell-checking may be performed either locally at client 210 or remotely using resources, such as server 220. In a remote server implementation, spell-cheelc processing may be performed asynchronously to other query processing, thereby providing enhaztced performance.
Additionally, in order to provide enhanced responsiveness and decrease the load on the remote server, spe'll.-check processing may be requested following expiration of a predetermined tinie period after a last query ter,tn is input.
This prevents con.tinuous server requests when the user has not yet completed their initial character submission.
Next, it is then determined whether arty corrections were identified during spell-checking (act 614). If so, the identified corrected search queries are presented to th.e user in "did you mean" section 512 of refinement drop-down box 510 (act 615). In one implementation consistent with principles of the invention, the corrected portions of'the identiiied corrected search queries may be highlighted using, for exaxnple, bolded, italicized or other suit.a.ble highlighting. If no corrected search queries are identiii.ed, "did you mean"
section 512 may be removed from refinement drop down box 510.
Substantially simultaneously to the spell-checking of acts 612-614, dynarnic search box software 440 may examine a history of prior search queries assooiated with the selected search context (act 616) and determine whether any history entries begin.ning with the same sequence of received terms exist (act 618). In one implementation consistent with principles of the invention, the history may be a local history of user searcli queries maintained at client device 210. Alternatively, the history may be a shared histoxy including prior search queries for a number of different users. In one implementation, the shared history may include prior search queries for a number of friends or related individuals.
If it is determined that one or more history entries begiiming with the received sequence of terms exist within the prior search history, the identified history entries are presented to the user in "history ' section 514 of refinement drop-down box 510 (act 620).
If it is determined that no history entries beginning with the received sequence of charactem exist within the prior search history, it is then determined whether any history entries including all of the received terms exists within the history of prior search queries (act 622). If so, the iden.tif ed history entries are presented to the user in "history" section 514 of refinement drop-down box 510 (act 620).
If it is determined that no history entries are identified as including all of the received terms, it is then detennined whether any history entries including any of the reoeived terms exist within the history of prior search queries (act 624). If so, the identified history entries are presented to the user in "history" section 514 of refinement drop-down box 510 (act 620). If no history entries including any of the received terms are identified within the prior search history, "history" seotion 514 may be removed fi-om the refinement drop-down box 510.
Dynamic search box software 440 may also request query completion suggestions from server 220 based on the received terms (act 626). In one implementation consistent with principles of the invention, the server-based query completion request may identify popular search queries beginning with the received terms. In one embodiment, as many as 10 query suggestions may be requested from server 220.
In response to the request, dynamic search box software 440 rnay receive cluery completion suggestions from server 220 (act 628), The received query completion suggestions may be ranked and/or sorted based on poputarity of the siiggestion or
An actions section 520 may present additional options relating to the operation of dynamic search box software 440. For example, actions section 520 may inciude an explain query option 522, a clear history option 524, and a retura, to a web search option 526. Additiotral details regarding options 522-526 will be set forth in additional detail below.
In some implementations consistent with principles of the invention, additional search-related in#'ormation may be presented to the user in rehnemcnt drop-down box 510. For example, a complete or partial listing of search resutts may be presented in response to specific types of queries ar queries received for selected search contexts.
Fo'r' example, where a user has selected local bookznarks as a search context, terms received into text entry box 504 may result in matching bookmarks being retrieved and displayed in refinement drop-down box 510. Selection of an identified bookmark may then result in the display of the web page associated with the selected bookmark.
Siznilarly, search results may be provided in response to traditional web searches as well, with the result listing dynamically changing upon receipt of additional terms or selection of an available query refinement suggestion. In this manner, users may more quickly access search results associated with input or selected query terms.
EXEMPLARY PROCESSIN'G
Figs. 6 and 7 are flowcharts of an exemplary process for implementing a dynaxnic search box feature. In one embodiment, the processing of Figs. 6 and 7 may be performed by one or more software and/or hardware components within client 210, server 220, or a combination of client 210 and server 220. In another implementation, the processing may be performed by one or more sofiware and/or hardware components within another device or a group of devices separate from or including elient 210 and/or server 220.
Turning specifically to Fig. 6, processing may begin with text entry box 504 receiving one or more terms from a user to form the basis for a search query (act 610). As used herein, "term" may include one or more characters of a search qitery or possibly less than the entire search query.
In response to the received terms, dynamic searah box software 440 may perform speli-checking on the received terms (act 612). In accordance with implementations consistent with principles of the invention, the spell-checking may be performed either locally at client 210 or remotely using resources, such as server 220. In a remote server implementation, spell-cheelc processing may be performed asynchronously to other query processing, thereby providing enhaztced performance.
Additionally, in order to provide enhanced responsiveness and decrease the load on the remote server, spe'll.-check processing may be requested following expiration of a predetermined tinie period after a last query ter,tn is input.
This prevents con.tinuous server requests when the user has not yet completed their initial character submission.
Next, it is then determined whether arty corrections were identified during spell-checking (act 614). If so, the identified corrected search queries are presented to th.e user in "did you mean" section 512 of refinement drop-down box 510 (act 615). In one implementation consistent with principles of the invention, the corrected portions of'the identiiied corrected search queries may be highlighted using, for exaxnple, bolded, italicized or other suit.a.ble highlighting. If no corrected search queries are identiii.ed, "did you mean"
section 512 may be removed from refinement drop down box 510.
Substantially simultaneously to the spell-checking of acts 612-614, dynarnic search box software 440 may examine a history of prior search queries assooiated with the selected search context (act 616) and determine whether any history entries begin.ning with the same sequence of received terms exist (act 618). In one implementation consistent with principles of the invention, the history may be a local history of user searcli queries maintained at client device 210. Alternatively, the history may be a shared histoxy including prior search queries for a number of different users. In one implementation, the shared history may include prior search queries for a number of friends or related individuals.
If it is determined that one or more history entries begiiming with the received sequence of terms exist within the prior search history, the identified history entries are presented to the user in "history ' section 514 of refinement drop-down box 510 (act 620).
If it is determined that no history entries beginning with the received sequence of charactem exist within the prior search history, it is then determined whether any history entries including all of the received terms exists within the history of prior search queries (act 622). If so, the iden.tif ed history entries are presented to the user in "history" section 514 of refinement drop-down box 510 (act 620).
If it is determined that no history entries are identified as including all of the received terms, it is then detennined whether any history entries including any of the reoeived terms exist within the history of prior search queries (act 624). If so, the identified history entries are presented to the user in "history" section 514 of refinement drop-down box 510 (act 620). If no history entries including any of the received terms are identified within the prior search history, "history" seotion 514 may be removed fi-om the refinement drop-down box 510.
Dynamic search box software 440 may also request query completion suggestions from server 220 based on the received terms (act 626). In one implementation consistent with principles of the invention, the server-based query completion request may identify popular search queries beginning with the received terms. In one embodiment, as many as 10 query suggestions may be requested from server 220.
In response to the request, dynamic search box software 440 rnay receive cluery completion suggestions from server 220 (act 628), The received query completion suggestions may be ranked and/or sorted based on poputarity of the siiggestion or
9 respective number of search results. The suggestions may then be presented to the user in "suggestions" section 516 of reftnement drop-down box 510 (act 630).
In response to the receipt of terms within text entry box 504, dyna.znic search box software 440 may also present a listing of available search contexts to the user in a context section 518 of refinement drop-down box 510 (act 632). As described above, a currently applied context may be highlighted within the listing of available search contexts. Additionally, a listing of available query options may be presented to the user in an actions section 520 of refinement-drop down box 510 (act 634).
Referring now to Fig. 7, processing is described relating to user selection of various elements within refinement drop-down box 510. Initially, refinement drop-down box 510 is presented to the user (act 700).
Dynamic search box software 440 may then receive a user selection of a search context from within the available search contexts included within context section 518 of ret"Snement drop-down box 510 (act 710). As described above, user selection of search context may be received in multiple ways, including, mouse or suitable pointing device selection of a link associated with a selected context and keyboard based seiection of an available context.
In one implementation consistent with principles of the invention, a web search is tlhe default search context.
Moreover, modifications to the default search context may be temporarily maintained for the current query, a predeterrniraed time period, or made persistent for all future queries, until a subsequent change is made.
Dynamic search box software 440- may then receive a user selection of a query refinement or suggestion provided within refinement drop-down box 510 (act 715). In one implementation consistent with principles of the invention, the user selection may be performed by using a mouse or suitable pointing device to click or ot.herwise select an available query refinement. Alternativeiy, the user selection may be performed by using a keyboard or other input device to scroll through the listing of available refinements.
Specifically in the keyboard embodiment, users may easily return to an unmodified query by reversing the lceyboard commands previously used to select an available query refinement: Upon receipt of the selection of an available queiy refinenient, dynaniic search box software 440 transmits the selected query and solected search context to server 220 for search perfonnance (act 720).
Dynamic search box software 440 may also receive a user selection of explain query option 522 provided in action section 520 of refinement drop-down section 510 (act 725). In response, dynamic search box software 440 rnay present a tool-tip or other notification window providing au explanation of the syntax of the current query (act 730). For example, a web search query for "apple - computer" may result in an explain queiy notification window content of 'search the web for "apple" but not "computer"'.
Dynamic search box software 440 may receive a user selection of clear history option 524 provided in action section 520 of refinement drop-down section 510 (act 735). In response, dynamic search box soi~ware may clear or otherwise delete the user's query history (act 740).
CONTHXT HIGXII..XGkI7.'ING
Fig. 8 is an exemplary diagram of a graphical user interface 800 that illustrates a context highlighting feature provided by dynamic search box software 440. Graphical user interface 800 may, for example, correspond to a web browser window that currently displays a web document 802.
According to one implementation consistent with principles of the invention, the dynamic search box may be implemented as a text entry box 804 within an add-on toolbar 806. In addition to text entry box 804, add-on toolbar 806 may include additional search boxes, software buttons, and/or menu elements selectable by a user to initiate different functions performed by add-on toolbar 806. In the present implementation, a user may initiate features of the dynamic search box software 440 by inputting one or more seareh terms into text entry box. 804 on add-on toolbar 806. According to another implementation, the dynamic search box may be implemented as text entry box (not shown) embedded wittZin the document currently being displayed within a web browser window, It should be appreciated to those skilled in the other art that in yet other implementations, other mechanisms-which may or may not be integrated witliin a web browser-for providing functionality of the dynamic search box feature described herein may be used without departing ~i-om the spirit of the present invention.
In accordance with principles of tlze invention, searches performed in response to terms received into text entry box may be complex searches. As described herein, complex searches may include various keyword modifiers or tokens operable to modify the manner in wb.ich searches including the tokens are performed. In this manner, complex Soo2ean operations, grouping stru.ctu.res, or other query operations may be incorporated into a searc:h query.
Examples of suitable query tokens may inciude a 3ninus sign to designate a keyword to be excluded;
quotation marks to designate an exact phrase; a ti]de sign to designate to include synonyms for the following keyword; a "site:" pref'xx to designate a domain specific search; an OR or *
to designate a logical or'ing for adjacent keywords or groups; various mathematical operators; ellipses between numbers to designate the range of all numbers; and parentheses to designate keyword groupings.
In one embodiment consistent with principles oÃthe invention, different types of highlighting may be used on different query tokens and their associated keywords to enable rapid identification of each tokens affect on the complete query. As shown in Fig. 8, upon receipt of one or more search terxns within text entry box 804, the syntax for the search terms may be automatically highlighted to provide easy recognition of the associated syntax functions. For example, by using different colors, highlighting, bolding, etc., various functions may be identified.
As shown in Fig. 8, the query ((apple -computer) gala) OR ("granny smith apples" -computer) may represent a search for docunierits containing "apple" but not "computer' AND gala, OR the exact phrase "granny smith apples"
but not "computez ". By rnodifying the highlighting and text colors for the various tokens contained within the query, users can rnore readily ascertain the effect a query token may have on the resulting query.
In addition to syntax highlighting, tool-tips (e.g., tool-tip 808) may be used to provide explanations t.o the various tokens included with a query. By mousing over or hovering over a token in a query, an explanation of the effect of the token may be provided. For example, as shown in Fig. 8, in response to a user hovering over "granny smith apples" in the query, dynamic search software 430 generates tool-tip 808 indicating that the query tolten.s ""
require that search results include the exact phrase "granny smith apples".
Alternately, by mousing over a blank portion of the text box 804, or a non-highlighted keyword, an explanation of the entire query may be provided.
CONCLUSION
Systems and methods consistent with the principles of the invention may provide a dynamic search box for quickly and unobtrusively providing search refinements based on received search terms. ,Alternative, the dynamic search box may provide query syntax highlighting for assisting users in readily identifying query components.
The foregoing description of preferred ernbodim.ents of the present invention provides illustration and description, but is not intended to be exhaustive or to limit tlze invention to the precise form disclosed.
Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
For example, while series of acts have been described with regard to Figs. 6 and 7, the order of the acts rnay be rxiodified in other implementations consistent with the principles of the invention. Further, non-dependent acts may be performed in parallel.
Also, exemplary user interfaces have been described with respect to Figs. 5 and 8. In other implexnentations consistent with the prinoiples of the invention, the user interfaces may include more, fewer, or different pieces of information..
The preceding description refers to a user. A "user" is intended to refer to a client, such as a client 210 (Fig. 2), or an operator of a client 210.
It will be apparent to one of ordinary skill in the art that aspects of the invention, as described above, may be implemented in many different forms of software, iirnnware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects consistent with the principles of the invention is not limiting of the invention. Thus, the operation and behavior of the aspects were described without reference to the specific software code--it being understood that one of ordinary skill in the art would be able to design software and control hardware to implement the aspects based on the description herein.
No element, act, or instruction used in the present application shouTd be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article "a" is intended to include one or more items. Where only one item is intended, the term "one" or similar language is used. Further, the phrase "based on" is intended to mean "based, at least in part, on" unless explicitly stated otherwise.
In response to the receipt of terms within text entry box 504, dyna.znic search box software 440 may also present a listing of available search contexts to the user in a context section 518 of refinement drop-down box 510 (act 632). As described above, a currently applied context may be highlighted within the listing of available search contexts. Additionally, a listing of available query options may be presented to the user in an actions section 520 of refinement-drop down box 510 (act 634).
Referring now to Fig. 7, processing is described relating to user selection of various elements within refinement drop-down box 510. Initially, refinement drop-down box 510 is presented to the user (act 700).
Dynamic search box software 440 may then receive a user selection of a search context from within the available search contexts included within context section 518 of ret"Snement drop-down box 510 (act 710). As described above, user selection of search context may be received in multiple ways, including, mouse or suitable pointing device selection of a link associated with a selected context and keyboard based seiection of an available context.
In one implementation consistent with principles of the invention, a web search is tlhe default search context.
Moreover, modifications to the default search context may be temporarily maintained for the current query, a predeterrniraed time period, or made persistent for all future queries, until a subsequent change is made.
Dynamic search box software 440- may then receive a user selection of a query refinement or suggestion provided within refinement drop-down box 510 (act 715). In one implementation consistent with principles of the invention, the user selection may be performed by using a mouse or suitable pointing device to click or ot.herwise select an available query refinement. Alternativeiy, the user selection may be performed by using a keyboard or other input device to scroll through the listing of available refinements.
Specifically in the keyboard embodiment, users may easily return to an unmodified query by reversing the lceyboard commands previously used to select an available query refinement: Upon receipt of the selection of an available queiy refinenient, dynaniic search box software 440 transmits the selected query and solected search context to server 220 for search perfonnance (act 720).
Dynamic search box software 440 may also receive a user selection of explain query option 522 provided in action section 520 of refinement drop-down section 510 (act 725). In response, dynamic search box software 440 rnay present a tool-tip or other notification window providing au explanation of the syntax of the current query (act 730). For example, a web search query for "apple - computer" may result in an explain queiy notification window content of 'search the web for "apple" but not "computer"'.
Dynamic search box software 440 may receive a user selection of clear history option 524 provided in action section 520 of refinement drop-down section 510 (act 735). In response, dynamic search box soi~ware may clear or otherwise delete the user's query history (act 740).
CONTHXT HIGXII..XGkI7.'ING
Fig. 8 is an exemplary diagram of a graphical user interface 800 that illustrates a context highlighting feature provided by dynamic search box software 440. Graphical user interface 800 may, for example, correspond to a web browser window that currently displays a web document 802.
According to one implementation consistent with principles of the invention, the dynamic search box may be implemented as a text entry box 804 within an add-on toolbar 806. In addition to text entry box 804, add-on toolbar 806 may include additional search boxes, software buttons, and/or menu elements selectable by a user to initiate different functions performed by add-on toolbar 806. In the present implementation, a user may initiate features of the dynamic search box software 440 by inputting one or more seareh terms into text entry box. 804 on add-on toolbar 806. According to another implementation, the dynamic search box may be implemented as text entry box (not shown) embedded wittZin the document currently being displayed within a web browser window, It should be appreciated to those skilled in the other art that in yet other implementations, other mechanisms-which may or may not be integrated witliin a web browser-for providing functionality of the dynamic search box feature described herein may be used without departing ~i-om the spirit of the present invention.
In accordance with principles of tlze invention, searches performed in response to terms received into text entry box may be complex searches. As described herein, complex searches may include various keyword modifiers or tokens operable to modify the manner in wb.ich searches including the tokens are performed. In this manner, complex Soo2ean operations, grouping stru.ctu.res, or other query operations may be incorporated into a searc:h query.
Examples of suitable query tokens may inciude a 3ninus sign to designate a keyword to be excluded;
quotation marks to designate an exact phrase; a ti]de sign to designate to include synonyms for the following keyword; a "site:" pref'xx to designate a domain specific search; an OR or *
to designate a logical or'ing for adjacent keywords or groups; various mathematical operators; ellipses between numbers to designate the range of all numbers; and parentheses to designate keyword groupings.
In one embodiment consistent with principles oÃthe invention, different types of highlighting may be used on different query tokens and their associated keywords to enable rapid identification of each tokens affect on the complete query. As shown in Fig. 8, upon receipt of one or more search terxns within text entry box 804, the syntax for the search terms may be automatically highlighted to provide easy recognition of the associated syntax functions. For example, by using different colors, highlighting, bolding, etc., various functions may be identified.
As shown in Fig. 8, the query ((apple -computer) gala) OR ("granny smith apples" -computer) may represent a search for docunierits containing "apple" but not "computer' AND gala, OR the exact phrase "granny smith apples"
but not "computez ". By rnodifying the highlighting and text colors for the various tokens contained within the query, users can rnore readily ascertain the effect a query token may have on the resulting query.
In addition to syntax highlighting, tool-tips (e.g., tool-tip 808) may be used to provide explanations t.o the various tokens included with a query. By mousing over or hovering over a token in a query, an explanation of the effect of the token may be provided. For example, as shown in Fig. 8, in response to a user hovering over "granny smith apples" in the query, dynamic search software 430 generates tool-tip 808 indicating that the query tolten.s ""
require that search results include the exact phrase "granny smith apples".
Alternately, by mousing over a blank portion of the text box 804, or a non-highlighted keyword, an explanation of the entire query may be provided.
CONCLUSION
Systems and methods consistent with the principles of the invention may provide a dynamic search box for quickly and unobtrusively providing search refinements based on received search terms. ,Alternative, the dynamic search box may provide query syntax highlighting for assisting users in readily identifying query components.
The foregoing description of preferred ernbodim.ents of the present invention provides illustration and description, but is not intended to be exhaustive or to limit tlze invention to the precise form disclosed.
Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
For example, while series of acts have been described with regard to Figs. 6 and 7, the order of the acts rnay be rxiodified in other implementations consistent with the principles of the invention. Further, non-dependent acts may be performed in parallel.
Also, exemplary user interfaces have been described with respect to Figs. 5 and 8. In other implexnentations consistent with the prinoiples of the invention, the user interfaces may include more, fewer, or different pieces of information..
The preceding description refers to a user. A "user" is intended to refer to a client, such as a client 210 (Fig. 2), or an operator of a client 210.
It will be apparent to one of ordinary skill in the art that aspects of the invention, as described above, may be implemented in many different forms of software, iirnnware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects consistent with the principles of the invention is not limiting of the invention. Thus, the operation and behavior of the aspects were described without reference to the specific software code--it being understood that one of ordinary skill in the art would be able to design software and control hardware to implement the aspects based on the description herein.
No element, act, or instruction used in the present application shouTd be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article "a" is intended to include one or more items. Where only one item is intended, the term "one" or similar language is used. Further, the phrase "based on" is intended to mean "based, at least in part, on" unless explicitly stated otherwise.
Claims (35)
1. A method, comprising:
receiving, by one or more processors in one or more computing devices, one or more character sequences of a search query provided by a specific user;
automatically identifying, by one or more processors in one or more computing devices, historical prior search queries that include the one or more character sequences of the search query, where the historical prior search queries are based on prior search queries associated with the specific user;
providing, by one or more processors in one or more computing devices and before search results are generated for the search query, historical query refinement options for display to the specific user, the historical query refinement options including the historical prior search queries as suggested queries for possible selection by the specific user;
automatically identifying, via one or more processors in one or more computing devices, suggested prior search queries that include the one or more character sequences of the search query, where the suggested prior search queries are based on third-party search queries associated with other users;
before the search results are generated for the search query, providing, from one or more processors in one or more computing devices and to the specific user, suggested query refinement options for display to the specific user, the suggested query refinement options being provided separately from the historical query refinement options and including the suggested prior search queries as suggested queries for possible selection by the specific user;
after providing the historical query refinement options and the suggested query refinement options, receiving, at one or more processors in one or more computing devices, one or more additional character sequences of the search query provided by the specific user;
updating, by one or more processors in one or more computing devices, the historical query refinement options and the suggested query refinement options, including:
removing, from the historical query refinement options, one or more of the historical prior search queries that do not include the one or more additional character sequences of the search query, and removing, from the suggested query refinement options, one or more of the suggested prior search queries that do not include the one or more additional character sequences of the search query; and before the search results are generated for the search query, providing, from one or more processors in one or more computing devices and to the specific user, the updated historical query refinement options and the updated suggested query refinement options.
receiving, by one or more processors in one or more computing devices, one or more character sequences of a search query provided by a specific user;
automatically identifying, by one or more processors in one or more computing devices, historical prior search queries that include the one or more character sequences of the search query, where the historical prior search queries are based on prior search queries associated with the specific user;
providing, by one or more processors in one or more computing devices and before search results are generated for the search query, historical query refinement options for display to the specific user, the historical query refinement options including the historical prior search queries as suggested queries for possible selection by the specific user;
automatically identifying, via one or more processors in one or more computing devices, suggested prior search queries that include the one or more character sequences of the search query, where the suggested prior search queries are based on third-party search queries associated with other users;
before the search results are generated for the search query, providing, from one or more processors in one or more computing devices and to the specific user, suggested query refinement options for display to the specific user, the suggested query refinement options being provided separately from the historical query refinement options and including the suggested prior search queries as suggested queries for possible selection by the specific user;
after providing the historical query refinement options and the suggested query refinement options, receiving, at one or more processors in one or more computing devices, one or more additional character sequences of the search query provided by the specific user;
updating, by one or more processors in one or more computing devices, the historical query refinement options and the suggested query refinement options, including:
removing, from the historical query refinement options, one or more of the historical prior search queries that do not include the one or more additional character sequences of the search query, and removing, from the suggested query refinement options, one or more of the suggested prior search queries that do not include the one or more additional character sequences of the search query; and before the search results are generated for the search query, providing, from one or more processors in one or more computing devices and to the specific user, the updated historical query refinement options and the updated suggested query refinement options.
2. The method of claim 1, where the one or more character sequences of the search query are received in a text entry box.
3. The method of claim 2, where the text entry box is provided in a toolbar associated with a web browser.
4. The method of claim 1, where the providing historical query refinement options for display to the specific user further comprises providing a query refinement drop-down box for display to the specific user.
5. The method of claim 1, where the identifying historical prior search queries further comprises:
determining whether a prior search query, that is from the history of prior search queries associated with the specific user and that is different from the search query, begins with an identical sequence of characters as the search query; and identifying the prior search query as a matching search query when the prior search query is different from the search query and begins with the identical sequence of characters as the search query.
determining whether a prior search query, that is from the history of prior search queries associated with the specific user and that is different from the search query, begins with an identical sequence of characters as the search query; and identifying the prior search query as a matching search query when the prior search query is different from the search query and begins with the identical sequence of characters as the search query.
6. The method of claim 1, where the identifying historical prior search queries further comprises:
determining whether a prior search query, that is from the history of prior search queries associated with the specific user and that is different from the search query, includes at least each character included within the search query; and identifying the prior search query as a matching search query when the prior search query is different from the search query and includes at least each character included within the search query.
determining whether a prior search query, that is from the history of prior search queries associated with the specific user and that is different from the search query, includes at least each character included within the search query; and identifying the prior search query as a matching search query when the prior search query is different from the search query and includes at least each character included within the search query.
7. The method of claim 1, where the identifying historical prior search queries further comprises:
determining whether a prior search query, that is from the history of prior search queries associated with the specific user and that is different from the search query, includes any character sequence included within the search query; and identifying the prior search query as a matching search query when the prior search query is different from the search query and includes any character sequence included within the search query.
determining whether a prior search query, that is from the history of prior search queries associated with the specific user and that is different from the search query, includes any character sequence included within the search query; and identifying the prior search query as a matching search query when the prior search query is different from the search query and includes any character sequence included within the search query.
8. The method of claim 1, further comprising:
providing a listing of available search contexts for display to the specific user, where each of the available search contexts is associated with a document type to be searched in response to the search query;
receiving a selection, from the specific user of one of the listing of available search contexts; and restricting a subsequent query submission to a particular type of search associated with the selection.
providing a listing of available search contexts for display to the specific user, where each of the available search contexts is associated with a document type to be searched in response to the search query;
receiving a selection, from the specific user of one of the listing of available search contexts; and restricting a subsequent query submission to a particular type of search associated with the selection.
9. The method of claim 8, where the listing of available search contexts is provided for display following receipt of a user selection of a search context selection icon.
10. The method of claim 1, further comprising:
automatically spell-checking the received search query;
identifying possible corrections to the received search query; and providing the possible corrections for display to the specific user.
automatically spell-checking the received search query;
identifying possible corrections to the received search query; and providing the possible corrections for display to the specific user.
11. The method of claim 10, where the automatically spell-checking the received search query, further comprises:
determining whether a predetermined period of time has passed since a last character sequence was entered in the received search query; and spell-checking the received search query when it is determined that a predetermined period of time has passed since the last character sequence was entered in the received search query.
determining whether a predetermined period of time has passed since a last character sequence was entered in the received search query; and spell-checking the received search query when it is determined that a predetermined period of time has passed since the last character sequence was entered in the received search query.
12. The method of claim 11, where the automatically spell-checking the received search query, further comprises:
querying a remote server to spell-check the received search query; and receiving a predetermined number of possible corrections from the remote server.
querying a remote server to spell-check the received search query; and receiving a predetermined number of possible corrections from the remote server.
13. The method of claim 1, further comprising:
requesting query completion suggestions from a remote server based on the received search query;
receiving a predetermined number of query completion suggestions from the remote server in response to the request; and providing the received predetermined number of query completion suggestions for display to the specific user.
requesting query completion suggestions from a remote server based on the received search query;
receiving a predetermined number of query completion suggestions from the remote server in response to the request; and providing the received predetermined number of query completion suggestions for display to the specific user.
14. The method of claim 13, further comprising:
determining a measure of popularity for each of the received predetermined number of query completion suggestions; and sorting the received predetermined number of query completion suggestions based on the determined measure of popularity.
determining a measure of popularity for each of the received predetermined number of query completion suggestions; and sorting the received predetermined number of query completion suggestions based on the determined measure of popularity.
15. The method of claim 1, further comprising:
providing a search query explanation option for display to the specific user;
receiving selection of the search query explanation option by the specific user; and providing a description of a syntax of the search query for display to the specific user in response to the received selection.
providing a search query explanation option for display to the specific user;
receiving selection of the search query explanation option by the specific user; and providing a description of a syntax of the search query for display to the specific user in response to the received selection.
16. The method of claim 15, where the description of the syntax of the search query is provided for display in a tool-tip associated with a user pointing device location.
17. The method of claim 1, further comprising:
providing a clear history option for display to the specific user;
receiving selection of the clear history option by the specific user; and deleting the historical prior search queries in response to the received selection.
providing a clear history option for display to the specific user;
receiving selection of the clear history option by the specific user; and deleting the historical prior search queries in response to the received selection.
18. The method of claim 1, further comprising:
identifying keyword modifiers associated with the received search query; and distinctly highlighting the identified keyword modifiers, such that different keyword modifiers are presented differently.
identifying keyword modifiers associated with the received search query; and distinctly highlighting the identified keyword modifiers, such that different keyword modifiers are presented differently.
19. The method of claim 18, where the distinctly highlighting includes coloring text of different keyword modifiers to indicate different syntax rules.
20. The method of claim 18, further comprising:
receiving a user selection of one of the keyword modifiers; and providing a description of a syntax of the search query associated with the selected one of the keyword modifiers.
receiving a user selection of one of the keyword modifiers; and providing a description of a syntax of the search query associated with the selected one of the keyword modifiers.
21. The method of claim 20, where the description of the syntax of the search query is presented in a tool-tip.
22. A system, comprising:
one or more computer devices, each of the computer devices comprising:
a memory to store instructions; and a processor to implement the instructions to:
provide a toolbar in a web browser for display to a specific user, the toolbar including a search box, receive one or more character sequences of a search query provided by the specific user in the search box and one or more additional character sequences of the search query, automatically identify historical prior search queries, that include the one or more character sequences of the search query, from a history of prior search queries associated with the specific user, spell check the one or more character sequences of the search query to identify potential corrections to the search query, provide historical query refinement options for display to the specific user, before search results are generated, the historical query refinement options including the historical prior search queries and the identified potential corrections as suggested queries for possible selection by the specific user, update, based on the one or more additional character sequences of the search query, the historical query refinement options, including removing, from the historical query refinement options, one or more of the historical prior search queries or the identified potential corrections that do not include the one or more additional character sequences of the search query, and provide the updated historical query refinement options for display to the specific user.
one or more computer devices, each of the computer devices comprising:
a memory to store instructions; and a processor to implement the instructions to:
provide a toolbar in a web browser for display to a specific user, the toolbar including a search box, receive one or more character sequences of a search query provided by the specific user in the search box and one or more additional character sequences of the search query, automatically identify historical prior search queries, that include the one or more character sequences of the search query, from a history of prior search queries associated with the specific user, spell check the one or more character sequences of the search query to identify potential corrections to the search query, provide historical query refinement options for display to the specific user, before search results are generated, the historical query refinement options including the historical prior search queries and the identified potential corrections as suggested queries for possible selection by the specific user, update, based on the one or more additional character sequences of the search query, the historical query refinement options, including removing, from the historical query refinement options, one or more of the historical prior search queries or the identified potential corrections that do not include the one or more additional character sequences of the search query, and provide the updated historical query refinement options for display to the specific user.
23. The system of claim 22, where the processor, when implementing the instructions to automatically identify historical prior search queries, is further to:
determine whether a prior search query, from the history of prior search queries associated with the specific user, begins with an identical sequence of characters as the one or more character sequences of the search query;
identify the prior search query as a matching search query when it is determined that the prior search query begins with the identical sequence of characters as the one or more character sequences of the search query;
determine whether a prior search query, from the history of prior search queries associated with the specific user, includes at least each character sequence included within the one or more character sequences of the search query when it is determined that the prior search query does not begin with the identical sequence of characters as the one or more character sequences of the search query;
identify the prior search query as a matching search query when it is determined that the prior search query includes at least each character sequence included within the one or more character sequences of the search query;
determine whether a prior search query, from the history of prior search queries associated with the specific user, includes any character sequence included within the one or more character sequences of the search query when it is determined that the prior search query does not include at least each character sequence included within the one or more character sequences of the search query; and identify the prior search query as a matching search query when it is determined that the prior search query includes any character sequence included within the one or more character sequences of the search query.
determine whether a prior search query, from the history of prior search queries associated with the specific user, begins with an identical sequence of characters as the one or more character sequences of the search query;
identify the prior search query as a matching search query when it is determined that the prior search query begins with the identical sequence of characters as the one or more character sequences of the search query;
determine whether a prior search query, from the history of prior search queries associated with the specific user, includes at least each character sequence included within the one or more character sequences of the search query when it is determined that the prior search query does not begin with the identical sequence of characters as the one or more character sequences of the search query;
identify the prior search query as a matching search query when it is determined that the prior search query includes at least each character sequence included within the one or more character sequences of the search query;
determine whether a prior search query, from the history of prior search queries associated with the specific user, includes any character sequence included within the one or more character sequences of the search query when it is determined that the prior search query does not include at least each character sequence included within the one or more character sequences of the search query; and identify the prior search query as a matching search query when it is determined that the prior search query includes any character sequence included within the one or more character sequences of the search query.
24. The system of claim 23, where the processor is further to:
identify keyword modifiers associated with the search query; and highlight the identified keyword modifiers such that different keyword modifiers are presented differently.
identify keyword modifiers associated with the search query; and highlight the identified keyword modifiers such that different keyword modifiers are presented differently.
25. A method, comprising:
providing, by one or more processors in one or more computer devices, a dynamic search box selectable object to display to a specific user;
receiving, by one or more processors in one or more computer devices, a first search query provided by the specific user and within the dynamic search box selectable object;
identifying, by one or more processors in one or more computer devices, historical prior search queries, that match at least a portion of the first search query, from a history of prior search queries associated with the specific user;
identifying, by one or more processors in one or more computer devices, possible spelling corrections to the received search query;
identifying, by one or more processors in one or more computer devices, server-based prior search queries, that begin with the received search query, from a history of prior search queries associated with users other than the specific user;
populating, by one or more processors in one or more computer devices, a refinement box, associated with the dynamic search box selectable object, with the identified historical prior search queries, the identified possible spelling corrections, and the identified server-based prior search queries;
providing, by one or more processors in one or more computer devices, the refinement box for display to the specific user, before search results are generated;
receiving, by one or more processors in one or more computing devices and from the specific user, a modification to the search query;
updating, by one or more processors in one or more computing devices and based on the received modification to the search query, the identified historical prior search queries, the identified possible spelling corrections, and the identified server-based prior search queries; and repopulating, by one or more processors in one or more computer devices and before the search results are generated for the search query, the refinement box with the updated identified historical prior search queries, the updated identified possible spelling corrections, and the updated identified server-based prior search queries.
providing, by one or more processors in one or more computer devices, a dynamic search box selectable object to display to a specific user;
receiving, by one or more processors in one or more computer devices, a first search query provided by the specific user and within the dynamic search box selectable object;
identifying, by one or more processors in one or more computer devices, historical prior search queries, that match at least a portion of the first search query, from a history of prior search queries associated with the specific user;
identifying, by one or more processors in one or more computer devices, possible spelling corrections to the received search query;
identifying, by one or more processors in one or more computer devices, server-based prior search queries, that begin with the received search query, from a history of prior search queries associated with users other than the specific user;
populating, by one or more processors in one or more computer devices, a refinement box, associated with the dynamic search box selectable object, with the identified historical prior search queries, the identified possible spelling corrections, and the identified server-based prior search queries;
providing, by one or more processors in one or more computer devices, the refinement box for display to the specific user, before search results are generated;
receiving, by one or more processors in one or more computing devices and from the specific user, a modification to the search query;
updating, by one or more processors in one or more computing devices and based on the received modification to the search query, the identified historical prior search queries, the identified possible spelling corrections, and the identified server-based prior search queries; and repopulating, by one or more processors in one or more computer devices and before the search results are generated for the search query, the refinement box with the updated identified historical prior search queries, the updated identified possible spelling corrections, and the updated identified server-based prior search queries.
26. The method of claim 25, further comprising:
providing a listing of available search contexts, where each of the available search contexts is associated with a document type to be searched in response to the search query;
receiving a user selection of one of the available search contexts; and identifying the historical prior search queries matching at least a portion of the received search query based on the one of the available search contexts.
providing a listing of available search contexts, where each of the available search contexts is associated with a document type to be searched in response to the search query;
receiving a user selection of one of the available search contexts; and identifying the historical prior search queries matching at least a portion of the received search query based on the one of the available search contexts.
27. A method, comprising:
receiving, by one or more processors in one or more computing devices, a search query;
identifying, by one or more processors in one or more computing devices, keyword modifiers within the search query, where the keyword modifiers include query operations and syntax; and graphically presenting, by one or more processors in one or more computing devices and before the search results are generated, the search query to represent differences in the identified keyword modifiers, where graphically presenting the search query includes one or more of:
presenting different keyword modifiers in different fonts, or presenting different keyword modifiers in different font colors;
receiving, by one or more processors in one or more computing devices, a modification to the search query;
identifying, by one or more processors in one or more computing devices, changes to the keyword modifiers in response to the received modification to the search query; and graphically presenting, by one or more processors in one or more computer devices and before the search results are generated for the search query, the search query to represent differences in the changed identified keyword modifiers.
receiving, by one or more processors in one or more computing devices, a search query;
identifying, by one or more processors in one or more computing devices, keyword modifiers within the search query, where the keyword modifiers include query operations and syntax; and graphically presenting, by one or more processors in one or more computing devices and before the search results are generated, the search query to represent differences in the identified keyword modifiers, where graphically presenting the search query includes one or more of:
presenting different keyword modifiers in different fonts, or presenting different keyword modifiers in different font colors;
receiving, by one or more processors in one or more computing devices, a modification to the search query;
identifying, by one or more processors in one or more computing devices, changes to the keyword modifiers in response to the received modification to the search query; and graphically presenting, by one or more processors in one or more computer devices and before the search results are generated for the search query, the search query to represent differences in the changed identified keyword modifiers.
28. The method of claim 27, further comprising:
providing a listing of available search contexts for display to the specific user, where each of the available search contexts is associated with a document type to be searched in response to the search query;
receiving a selection, from the specific user of one of the listing of available search contexts; and restricting a subsequent query submission to a particular type of search associated with the selection.
providing a listing of available search contexts for display to the specific user, where each of the available search contexts is associated with a document type to be searched in response to the search query;
receiving a selection, from the specific user of one of the listing of available search contexts; and restricting a subsequent query submission to a particular type of search associated with the selection.
29. The method of claim 27, where the listing of available search contexts is provided for display following receipt of a user selection of a search context selection icon.
30. A computer-readable memory device that stores instructions executable by a processor of a client device, the computer-readable memory device comprising:
instructions for causing the client device to receive one or more character sequences of a search query provided by a specific user;
instructions for causing the client device to automatically identify historical prior search queries, that include the one or more character sequences of the search query, from a history of prior search queries associated with the specific user;
instructions for causing the client device to present historical query refinement options to the specific user, before search results are generated, the historical query refinement options including the historical prior search queries as suggested queries for possible selection by the specific user;
instructions for causing the client device to receive, after presenting the historical query refinement options, one or more additional character sequences of the search query provided by the specific user;
instructions for causing the client device to update the historical query refinement options, including removing, from the historical query refinement options, one or more of the historical prior search queries that do not include the one or more additional character sequences of the search query; and instructions for causing the client device to provide, before the search results are generated for the search query, the updated historical query refinement options.
instructions for causing the client device to receive one or more character sequences of a search query provided by a specific user;
instructions for causing the client device to automatically identify historical prior search queries, that include the one or more character sequences of the search query, from a history of prior search queries associated with the specific user;
instructions for causing the client device to present historical query refinement options to the specific user, before search results are generated, the historical query refinement options including the historical prior search queries as suggested queries for possible selection by the specific user;
instructions for causing the client device to receive, after presenting the historical query refinement options, one or more additional character sequences of the search query provided by the specific user;
instructions for causing the client device to update the historical query refinement options, including removing, from the historical query refinement options, one or more of the historical prior search queries that do not include the one or more additional character sequences of the search query; and instructions for causing the client device to provide, before the search results are generated for the search query, the updated historical query refinement options.
31. The computer-readable memory device of claim 30, where the instructions for causing the client device to automatically identify historical prior search queries, further comprise:
instructions for causing the client device to determine whether a prior search query, that is from the history of prior search queries associated with the specific user and that is different from the search query, begins with an identical sequence of characters as the one or more character sequences of the search query; and instructions for causing the client device to identify the prior search query as a matching search query when the prior search query is different from the search query and begins with the identical sequence of characters as the one or more character sequences of the search query.
instructions for causing the client device to determine whether a prior search query, that is from the history of prior search queries associated with the specific user and that is different from the search query, begins with an identical sequence of characters as the one or more character sequences of the search query; and instructions for causing the client device to identify the prior search query as a matching search query when the prior search query is different from the search query and begins with the identical sequence of characters as the one or more character sequences of the search query.
32. The computer-readable memory device of claim 30, further comprising:
instructions for causing the client device to present a search query explanation option in the historical query refinement options;
instructions for causing the client device to receive selection of the search query explanation option; and instructions for causing the client device to present a description of a syntax of the received search query, to the specific user, in response to the received selection.
instructions for causing the client device to present a search query explanation option in the historical query refinement options;
instructions for causing the client device to receive selection of the search query explanation option; and instructions for causing the client device to present a description of a syntax of the received search query, to the specific user, in response to the received selection.
33. A method, comprising:
receiving, by one or more processors in one or more computing devices, one or more character sequences of a search query provided in a text entry box by a specific user;
automatically identifying, by one or more processors in one or more computing devices, possible spelling corrected queries based on the one or more character sequences of the search query;
automatically identifying, by one or more processors in one or more computing devices, historical prior search queries, that include the one or more character sequences of the search query, from a history of prior search queries associated with the specific user;
automatically identifying, by one or more processors in one or more computing devices, server-based prior search queries, that include the one or more character sequences of the search query, from a history of prior search queries associated with users that differ from the specific user;
providing, by one or more processors in one or more computing devices, a query refinement box for display to the specific user, before search results are generated, the query refinement box being associated with the text entry box and including the identified historical prior search queries, the identified possible spelling corrected queries, and the identified server-based prior search queries;
receiving, at one or more processors in one or more computing devices, one or more additional character sequences of the search query provided by the specific user;
updating, by one or more processors in one or more computing devices and based on the one or more additional character sequences of the search query provided by the specific user, the identified historical prior search queries, the identified possible spelling corrected queries, and the identified server-based prior search queries; and updating, by one or more processors in one or more computing devices and before the search results are generated, the query refinement box to include the updated identified historical prior search queries, the updated identified possible spelling corrected queries, and the updated identified server-based prior search queries.
receiving, by one or more processors in one or more computing devices, one or more character sequences of a search query provided in a text entry box by a specific user;
automatically identifying, by one or more processors in one or more computing devices, possible spelling corrected queries based on the one or more character sequences of the search query;
automatically identifying, by one or more processors in one or more computing devices, historical prior search queries, that include the one or more character sequences of the search query, from a history of prior search queries associated with the specific user;
automatically identifying, by one or more processors in one or more computing devices, server-based prior search queries, that include the one or more character sequences of the search query, from a history of prior search queries associated with users that differ from the specific user;
providing, by one or more processors in one or more computing devices, a query refinement box for display to the specific user, before search results are generated, the query refinement box being associated with the text entry box and including the identified historical prior search queries, the identified possible spelling corrected queries, and the identified server-based prior search queries;
receiving, at one or more processors in one or more computing devices, one or more additional character sequences of the search query provided by the specific user;
updating, by one or more processors in one or more computing devices and based on the one or more additional character sequences of the search query provided by the specific user, the identified historical prior search queries, the identified possible spelling corrected queries, and the identified server-based prior search queries; and updating, by one or more processors in one or more computing devices and before the search results are generated, the query refinement box to include the updated identified historical prior search queries, the updated identified possible spelling corrected queries, and the updated identified server-based prior search queries.
34. The method of claim 33, where automatically identifying possible spelling corrected queries based on the one or more character sequences of the search query, further comprises:
determining whether a predetermined period of time has passed since a last character sequence was entered in the received search query; and spell-checking the received search query when it is determined that a predetermined period of time has passed since the last character sequence was entered in the received search query.
determining whether a predetermined period of time has passed since a last character sequence was entered in the received search query; and spell-checking the received search query when it is determined that a predetermined period of time has passed since the last character sequence was entered in the received search query.
35. The method of claim 33, where providing the query refinement box for display to the specific user, further comprises:
dynamically modifying the identified historical prior search queries, the identified possible spelling corrected queries, and the identified server-based prior search queries based on continued modification of the one or more character sequences of the search query received into the text entry box.
dynamically modifying the identified historical prior search queries, the identified possible spelling corrected queries, and the identified server-based prior search queries based on continued modification of the one or more character sequences of the search query received into the text entry box.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/321,075 US8010523B2 (en) | 2005-12-30 | 2005-12-30 | Dynamic search box for web browser |
US11/321,075 | 2005-12-30 | ||
PCT/US2006/062651 WO2007079388A1 (en) | 2005-12-30 | 2006-12-28 | Dynamic search box for web browser |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2635783A1 CA2635783A1 (en) | 2007-07-12 |
CA2635783C true CA2635783C (en) | 2012-07-17 |
Family
ID=37726700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2635783A Active CA2635783C (en) | 2005-12-30 | 2006-12-28 | Dynamic search box for web browser |
Country Status (6)
Country | Link |
---|---|
US (3) | US8010523B2 (en) |
EP (2) | EP1969497A1 (en) |
KR (1) | KR100991224B1 (en) |
CN (1) | CN101395604B (en) |
CA (1) | CA2635783C (en) |
WO (1) | WO2007079388A1 (en) |
Families Citing this family (145)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844599B2 (en) * | 2005-08-24 | 2010-11-30 | Yahoo! Inc. | Biasing queries to determine suggested queries |
US7747639B2 (en) * | 2005-08-24 | 2010-06-29 | Yahoo! Inc. | Alternative search query prediction |
US7672932B2 (en) | 2005-08-24 | 2010-03-02 | Yahoo! Inc. | Speculative search result based on a not-yet-submitted search query |
US8429184B2 (en) * | 2005-12-05 | 2013-04-23 | Collarity Inc. | Generation of refinement terms for search queries |
US8903810B2 (en) | 2005-12-05 | 2014-12-02 | Collarity, Inc. | Techniques for ranking search results |
US8010523B2 (en) | 2005-12-30 | 2011-08-30 | Google Inc. | Dynamic search box for web browser |
US20070192291A1 (en) * | 2006-02-02 | 2007-08-16 | Miro Vins | Personal object work lists |
US7917511B2 (en) * | 2006-03-20 | 2011-03-29 | Cannon Structures, Inc. | Query system using iterative grouping and narrowing of query results |
US7689540B2 (en) * | 2006-05-09 | 2010-03-30 | Aol Llc | Collaborative user query refinement |
CA2652150A1 (en) * | 2006-06-13 | 2007-12-21 | Microsoft Corporation | Search engine dash-board |
CA2661806A1 (en) * | 2006-08-29 | 2008-03-06 | Nextgen Healthcare Information Systems, Inc. | Clinical data monitoring |
US7761805B2 (en) * | 2006-09-11 | 2010-07-20 | Yahoo! Inc. | Displaying items using a reduced presentation |
US20080109401A1 (en) * | 2006-09-12 | 2008-05-08 | Microsoft Corporation | Presenting predetermined search results with query suggestions |
US7783660B2 (en) * | 2006-10-05 | 2010-08-24 | Yahoo! Inc. | System and method for enhanced text matching |
US8442972B2 (en) | 2006-10-11 | 2013-05-14 | Collarity, Inc. | Negative associations for search results ranking and refinement |
US20080109752A1 (en) * | 2006-11-07 | 2008-05-08 | Yahoo! Inc. | Expanding search query input box to support livesearch interaction |
US7747969B2 (en) * | 2006-11-15 | 2010-06-29 | Sap Ag | Method and system for displaying drop down list boxes |
US7630970B2 (en) * | 2006-11-28 | 2009-12-08 | Yahoo! Inc. | Wait timer for partially formed query |
US8255382B2 (en) * | 2007-06-20 | 2012-08-28 | Boopsie, Inc. | Dynamic menus for multi-prefix interactive mobile searches |
US20080276194A1 (en) * | 2007-02-06 | 2008-11-06 | Access Systems Americas, Inc. | Method of exposing fully editable text fields on a mobile device |
US7917528B1 (en) * | 2007-04-02 | 2011-03-29 | Google Inc. | Contextual display of query refinements |
US20080250008A1 (en) * | 2007-04-04 | 2008-10-09 | Microsoft Corporation | Query Specialization |
US8433995B1 (en) * | 2007-04-24 | 2013-04-30 | Google Inc. | Managing bookmarks for web pages |
US10074117B2 (en) * | 2007-05-10 | 2018-09-11 | Cardinalcommerce Corporation | Application server and/or method for supporting mobile electronic commerce |
US20080294619A1 (en) * | 2007-05-23 | 2008-11-27 | Hamilton Ii Rick Allen | System and method for automatic generation of search suggestions based on recent operator behavior |
US7756860B2 (en) * | 2007-05-23 | 2010-07-13 | International Business Machines Corporation | Advanced handling of multiple form fields based on recent behavior |
US8019742B1 (en) | 2007-05-31 | 2011-09-13 | Google Inc. | Identifying related queries |
US20090006344A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Mark-up ecosystem for searching |
CN101398835B (en) * | 2007-09-30 | 2012-08-29 | 日电(中国)有限公司 | Service selecting system and method, and service enquiring system and method based on natural language |
US8510299B2 (en) * | 2007-10-23 | 2013-08-13 | At&T Intellectual Property I, L.P. | Method and apparatus for providing a user traffic weighted search |
US8126863B2 (en) * | 2007-10-25 | 2012-02-28 | Apple Inc. | Search control combining classification and text-based searching techniques |
CN101159967B (en) * | 2007-10-29 | 2011-08-31 | 中国移动通信集团设计院有限公司 | Method and device for using drive test data for propagation model revision |
US8667004B2 (en) * | 2007-11-30 | 2014-03-04 | Microsoft Corporation | Providing suggestions during formation of a search query |
US8631348B2 (en) * | 2007-12-04 | 2014-01-14 | Apple Inc. | Search drop down menu method and apparatus |
US8484190B1 (en) | 2007-12-18 | 2013-07-09 | Google Inc. | Prompt for query clarification |
US8131731B2 (en) | 2007-12-27 | 2012-03-06 | Microsoft Corporation | Relevancy sorting of user's browser history |
CA2711099C (en) * | 2007-12-31 | 2018-10-23 | Michael Dahn | Graphical user interfaces for information retrieval systems |
US7904530B2 (en) * | 2008-01-29 | 2011-03-08 | Palo Alto Research Center Incorporated | Method and apparatus for automatically incorporating hypothetical context information into recommendation queries |
US20090204577A1 (en) * | 2008-02-08 | 2009-08-13 | Sap Ag | Saved Search and Quick Search Control |
US20090210404A1 (en) * | 2008-02-14 | 2009-08-20 | Wilson Kelce S | Database search control |
US8150869B2 (en) * | 2008-03-17 | 2012-04-03 | Microsoft Corporation | Combined web browsing and searching |
US20090248669A1 (en) * | 2008-04-01 | 2009-10-01 | Nitin Mangesh Shetti | Method and system for organizing information |
US8086590B2 (en) * | 2008-04-25 | 2011-12-27 | Microsoft Corporation | Product suggestions and bypassing irrelevant query results |
US20090271374A1 (en) * | 2008-04-29 | 2009-10-29 | Microsoft Corporation | Social network powered query refinement and recommendations |
US8090738B2 (en) * | 2008-05-14 | 2012-01-03 | Microsoft Corporation | Multi-modal search wildcards |
US9542438B2 (en) * | 2008-06-17 | 2017-01-10 | Microsoft Technology Licensing, Llc | Term complete |
US8356041B2 (en) | 2008-06-17 | 2013-01-15 | Microsoft Corporation | Phrase builder |
US8438178B2 (en) | 2008-06-26 | 2013-05-07 | Collarity Inc. | Interactions among online digital identities |
US9183323B1 (en) | 2008-06-27 | 2015-11-10 | Google Inc. | Suggesting alternative query phrases in query results |
US8768933B2 (en) * | 2008-08-08 | 2014-07-01 | Kabushiki Kaisha Toshiba | System and method for type-ahead address lookup employing historically weighted address placement |
US8635219B2 (en) * | 2008-08-27 | 2014-01-21 | International Business Machines Corporation | Automated browser history sorting based upon location |
US20100082649A1 (en) * | 2008-09-22 | 2010-04-01 | Microsoft Corporation | Automatic search suggestions from server-side user history |
US8370329B2 (en) * | 2008-09-22 | 2013-02-05 | Microsoft Corporation | Automatic search query suggestions with search result suggestions from user history |
US8332400B2 (en) | 2008-09-23 | 2012-12-11 | Sage Inventions, Llc | System and method for managing web search information in navigation hierarchy |
US8316296B2 (en) * | 2008-10-01 | 2012-11-20 | Microsoft Corporation | Phrase generation using part(s) of a suggested phrase |
US20100125809A1 (en) * | 2008-11-17 | 2010-05-20 | Fujitsu Limited | Facilitating Display Of An Interactive And Dynamic Cloud With Advertising And Domain Features |
WO2010105440A1 (en) * | 2009-03-20 | 2010-09-23 | Google Inc. | Interaction with ime computing device |
CN101853252B (en) * | 2009-04-02 | 2013-01-30 | 深圳市辰飞信息技术有限公司 | Legal searching method and legal searching system |
US20100257403A1 (en) * | 2009-04-03 | 2010-10-07 | Microsoft Corporation | Restoration of a system from a set of full and partial delta system snapshots across a distributed system |
US8261126B2 (en) | 2009-04-03 | 2012-09-04 | Microsoft Corporation | Bare metal machine recovery from the cloud |
US8892540B2 (en) | 2009-04-24 | 2014-11-18 | Rockwell Automation Technologies, Inc. | Dynamic sustainability search engine |
US8862574B2 (en) * | 2009-04-30 | 2014-10-14 | Microsoft Corporation | Providing a search-result filters toolbar |
US8185825B2 (en) * | 2009-05-29 | 2012-05-22 | Microsoft Corporation | Hiding search box based on search provider settings |
US8412699B1 (en) | 2009-06-12 | 2013-04-02 | Google Inc. | Fresh related search suggestions |
US20100325539A1 (en) * | 2009-06-18 | 2010-12-23 | Microsoft Corporation | Web based spell check |
EP2462517A4 (en) | 2009-08-04 | 2014-08-06 | Google Inc | Query suggestions from documents |
KR101772147B1 (en) | 2009-08-31 | 2017-08-28 | 구글 인코포레이티드 | Framework for selecting and presenting answer boxes relevant to user input as query suggestions |
US9015148B2 (en) * | 2009-09-21 | 2015-04-21 | Microsoft Corporation | Suggesting related search queries during web browsing |
US20110087482A1 (en) * | 2009-10-14 | 2011-04-14 | Frank John Williams | Method for identifying and manipulating language information |
WO2011050494A1 (en) * | 2009-10-29 | 2011-05-05 | Google Inc. | Generating input suggestions |
CN102640140A (en) * | 2009-10-29 | 2012-08-15 | 谷歌公司 | Generating input suggestions |
US8504437B1 (en) | 2009-11-04 | 2013-08-06 | Google Inc. | Dynamically selecting and presenting content relevant to user input |
US8676828B1 (en) * | 2009-11-04 | 2014-03-18 | Google Inc. | Selecting and presenting content relevant to user input |
US9081868B2 (en) * | 2009-12-16 | 2015-07-14 | Google Technology Holdings LLC | Voice web search |
US8631004B2 (en) * | 2009-12-28 | 2014-01-14 | Yahoo! Inc. | Search suggestion clustering and presentation |
US8849785B1 (en) | 2010-01-15 | 2014-09-30 | Google Inc. | Search query reformulation using result term occurrence count |
US8239374B2 (en) * | 2010-01-18 | 2012-08-07 | Microsoft Corporation | Collection of performance information for search queries executed in a tiered architecture |
US8875038B2 (en) | 2010-01-19 | 2014-10-28 | Collarity, Inc. | Anchoring for content synchronization |
US8732171B2 (en) * | 2010-01-28 | 2014-05-20 | Microsoft Corporation | Providing query suggestions |
US9129012B2 (en) * | 2010-02-03 | 2015-09-08 | Google Inc. | Information search system with real-time feedback |
US10134011B2 (en) | 2010-03-02 | 2018-11-20 | Nokia Technologies Oy | Methods and apparatuses for facilitating location selection |
US20110295897A1 (en) * | 2010-06-01 | 2011-12-01 | Microsoft Corporation | Query correction probability based on query-correction pairs |
US8719246B2 (en) | 2010-06-28 | 2014-05-06 | Microsoft Corporation | Generating and presenting a suggested search query |
JP5542017B2 (en) * | 2010-09-15 | 2014-07-09 | アルパイン株式会社 | Name search device |
US10073927B2 (en) | 2010-11-16 | 2018-09-11 | Microsoft Technology Licensing, Llc | Registration for system level search user interface |
US10346479B2 (en) | 2010-11-16 | 2019-07-09 | Microsoft Technology Licensing, Llc | Facilitating interaction with system level search user interface |
US8515984B2 (en) | 2010-11-16 | 2013-08-20 | Microsoft Corporation | Extensible search term suggestion engine |
US20120124072A1 (en) | 2010-11-16 | 2012-05-17 | Microsoft Corporation | System level search user interface |
US9323722B1 (en) * | 2010-12-07 | 2016-04-26 | Google Inc. | Low-latency interactive user interface |
US9721040B2 (en) * | 2010-12-09 | 2017-08-01 | Oracle International Corporation | Mechanism to input, search and create complex data strings within a single dialog |
US9098569B1 (en) * | 2010-12-10 | 2015-08-04 | Amazon Technologies, Inc. | Generating suggested search queries |
CN103299300A (en) * | 2010-12-27 | 2013-09-11 | 诺基亚公司 | Method and apparatus for providing input suggestions |
US8473507B2 (en) | 2011-01-14 | 2013-06-25 | Apple Inc. | Tokenized search suggestions |
US20120246133A1 (en) * | 2011-03-23 | 2012-09-27 | Microsoft Corporation | Online spelling correction/phrase completion system |
US9170706B2 (en) * | 2011-05-12 | 2015-10-27 | Microsoft Technology Licensing, Llc | Query box polymorphism |
US8577913B1 (en) * | 2011-05-27 | 2013-11-05 | Google Inc. | Generating midstring query refinements |
US8473485B2 (en) * | 2011-06-29 | 2013-06-25 | Microsoft Corporation | Organizing search history into collections |
CN103106212B (en) * | 2011-11-14 | 2016-12-07 | 中国移动通信集团广西有限公司 | Information search method and device |
US9189550B2 (en) * | 2011-11-17 | 2015-11-17 | Microsoft Technology Licensing, Llc | Query refinement in a browser toolbar |
US20150073941A1 (en) * | 2011-12-13 | 2015-03-12 | Emma Burrows | Hotel finder interface |
TWI510064B (en) * | 2012-03-30 | 2015-11-21 | Inst Information Industry | Video recommendation system and method thereof |
JP2013246673A (en) * | 2012-05-28 | 2013-12-09 | Oki Electric Ind Co Ltd | Inquiry system, inquiry terminal and program |
CN103577401A (en) * | 2012-07-18 | 2014-02-12 | 腾讯科技(深圳)有限公司 | Mobile terminal searching method and system |
US9135313B2 (en) * | 2012-08-31 | 2015-09-15 | Google Inc. | Providing a search display environment on an online resource |
WO2014066554A2 (en) * | 2012-10-23 | 2014-05-01 | Gablit Inc. | Event search engine for web-based applications |
US20140129973A1 (en) * | 2012-11-08 | 2014-05-08 | Microsoft Corporation | Interaction model for serving popular queries in search box |
US9092509B2 (en) | 2012-11-19 | 2015-07-28 | Microsoft Technology Licensing, Llc | Search query user interface |
RU2015130084A (en) * | 2012-12-26 | 2017-02-02 | Общество С Ограниченной Ответственностью "Яндекс" | METHOD (OPTIONS) AND SYSTEM (OPTIONS) FOR PROVIDING A NETWORK RESOURCE TO A CUSTOMER DEVICE USER AND PERMANENT MEDIA INFORMATION CARRIER (OPTIONS) |
US9292622B2 (en) * | 2012-12-27 | 2016-03-22 | Google Inc. | Systems and methods for providing search suggestions |
US9367607B2 (en) * | 2012-12-31 | 2016-06-14 | Facebook, Inc. | Natural-language rendering of structured search queries |
CN103076980B (en) * | 2013-01-18 | 2016-04-13 | 华为技术有限公司 | Search terms display packing and device |
US9069882B2 (en) * | 2013-01-22 | 2015-06-30 | International Business Machines Corporation | Mapping and boosting of terms in a format independent data retrieval query |
US20140214820A1 (en) * | 2013-01-31 | 2014-07-31 | Chacha Search, Inc. | Method and system of creating a seach query |
DE102013003036B4 (en) * | 2013-02-22 | 2018-03-29 | Audi Ag | Car infotainment system with search functionality |
CN103150368B (en) * | 2013-03-07 | 2017-10-20 | 青岛海信电器股份有限公司 | Information search and display methods and device |
WO2014139120A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Search intent preview, disambiguation, and refinement |
US20140358962A1 (en) * | 2013-06-04 | 2014-12-04 | Microsoft Corporation | Responsive input architecture |
US9374431B2 (en) | 2013-06-20 | 2016-06-21 | Microsoft Technology Licensing, Llc | Frequent sites based on browsing patterns |
US9286348B2 (en) | 2013-06-27 | 2016-03-15 | International Business Machines Corporation | Dynamic search system |
US9342567B2 (en) * | 2013-08-23 | 2016-05-17 | International Business Machines Corporation | Control for persistent search results and iterative searching |
CN103530163B (en) * | 2013-10-25 | 2017-05-31 | 北京奇虎科技有限公司 | The method and browser of loading browser instrument |
US20150363473A1 (en) * | 2014-06-17 | 2015-12-17 | Microsoft Corporation | Direct answer triggering in search |
US20160012129A1 (en) * | 2014-07-14 | 2016-01-14 | Microsoft Technology Licensing, Llc | Visualization suggestions |
US10936632B2 (en) * | 2014-09-11 | 2021-03-02 | Ebay Inc. | Enhanced search query suggestions |
US9805141B2 (en) * | 2014-12-31 | 2017-10-31 | Ebay Inc. | Dynamic content delivery search system |
CN104715069B (en) * | 2015-03-31 | 2017-06-06 | 北京奇虎科技有限公司 | It is a kind of to search for the treating method and apparatus for recommending word |
US20160314130A1 (en) * | 2015-04-24 | 2016-10-27 | Tribune Broadcasting Company, Llc | Computing device with spell-check feature |
US20170017672A1 (en) * | 2015-07-14 | 2017-01-19 | Microsoft Technology Licensing, Llc | Accessing search results in offline mode |
US10417272B1 (en) * | 2015-09-21 | 2019-09-17 | Amazon Technologies, Inc. | System for suppressing output of content based on media access |
US10845950B2 (en) | 2015-12-17 | 2020-11-24 | Microsoft Technology Licensing, Llc | Web browser extension |
CN106933460B (en) * | 2015-12-30 | 2020-06-09 | 菜鸟智能物流控股有限公司 | Page information obtaining and sending method, device and system |
DE102016218011A1 (en) * | 2016-09-20 | 2018-03-22 | Volkswagen Aktiengesellschaft | A user interface for accessing a set of functions, methods and computer readable storage medium for providing a user interface for accessing a set of functions |
US10956503B2 (en) * | 2016-09-20 | 2021-03-23 | Salesforce.Com, Inc. | Suggesting query items based on frequent item sets |
US11544400B2 (en) * | 2017-02-24 | 2023-01-03 | Hyland Uk Operations Limited | Permissions-constrained dynamic faceting of search results in a content management system |
US10467292B2 (en) * | 2017-02-28 | 2019-11-05 | Salesforce.Com, Inc. | Suggesting query items based on database fields |
US11783422B1 (en) * | 2017-09-27 | 2023-10-10 | State Farm Mutual Automobile Insurance Company | Implementing machine learning for life and health insurance claims handling |
CN111052050B (en) | 2017-11-30 | 2022-05-10 | 华为技术有限公司 | Information input method and terminal |
US11269900B2 (en) * | 2018-05-04 | 2022-03-08 | Visa International Service Association | Transition regularized matrix factorization for sequential recommendation |
US11640407B2 (en) | 2018-09-24 | 2023-05-02 | Salesforce, Inc. | Driving application experience via search inputs |
KR102425770B1 (en) * | 2020-04-13 | 2022-07-28 | 네이버 주식회사 | Method and system for providing search terms whose popularity increases rapidly |
WO2021241253A1 (en) * | 2020-05-27 | 2021-12-02 | オムロン株式会社 | Device, method, and program for assisting text input |
CN112052369A (en) * | 2020-08-27 | 2020-12-08 | 安徽聚戎科技信息咨询有限公司 | Intelligent big data retrieval method |
US11580099B2 (en) * | 2020-09-30 | 2023-02-14 | Microsoft Technology Licensing, Llc | Context-aware query suggestions |
US11625208B2 (en) | 2021-03-04 | 2023-04-11 | Kyocera Document Solutions Inc. | Portable printer settings system |
US20230267151A1 (en) * | 2022-02-18 | 2023-08-24 | Ebay Inc. | Aspect-aware autocomplete query |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6243071B1 (en) * | 1993-11-03 | 2001-06-05 | Apple Computer, Inc. | Tool set for navigating through an electronic book |
US5687364A (en) * | 1994-09-16 | 1997-11-11 | Xerox Corporation | Method for learning to infer the topical content of documents based upon their lexical content |
US5649222A (en) * | 1995-05-08 | 1997-07-15 | Microsoft Corporation | Method for background spell checking a word processing document |
US6819336B1 (en) * | 1996-05-07 | 2004-11-16 | Sun Microsystems, Inc. | Tooltips on webpages |
US5845300A (en) * | 1996-06-05 | 1998-12-01 | Microsoft Corporation | Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items |
US5907680A (en) * | 1996-06-24 | 1999-05-25 | Sun Microsystems, Inc. | Client-side, server-side and collaborative spell check of URL's |
US5920854A (en) * | 1996-08-14 | 1999-07-06 | Infoseek Corporation | Real-time document collection search engine with phrase indexing |
US5995928A (en) * | 1996-10-02 | 1999-11-30 | Speechworks International, Inc. | Method and apparatus for continuous spelling speech recognition with early identification |
US6096096A (en) * | 1996-12-13 | 2000-08-01 | Silicon Graphics, Inc. | Web-site delivery |
US5892919A (en) * | 1997-06-23 | 1999-04-06 | Sun Microsystems, Inc. | Spell checking universal resource locator (URL) by comparing the URL against a cache containing entries relating incorrect URLs submitted by users to corresponding correct URLs |
US5954798A (en) * | 1997-10-06 | 1999-09-21 | Ncr Corporation | Mechanism for dependably managing web synchronization and tracking operations among multiple browsers |
US6377965B1 (en) * | 1997-11-07 | 2002-04-23 | Microsoft Corporation | Automatic word completion system for partially entered data |
US6041360A (en) * | 1997-11-21 | 2000-03-21 | International Business Machines Corporation | Web browser support for dynamic update of bookmarks |
US6037934A (en) * | 1997-11-21 | 2000-03-14 | International Business Machines Corporation | Named bookmark sets |
US6032162A (en) * | 1998-01-08 | 2000-02-29 | Burke; Alexander James | System for processing and storing internet bookmark address links |
US6067565A (en) * | 1998-01-15 | 2000-05-23 | Microsoft Corporation | Technique for prefetching a web page of potential future interest in lieu of continuing a current information download |
US6125361A (en) * | 1998-04-10 | 2000-09-26 | International Business Machines Corporation | Feature diffusion across hyperlinks |
US6212522B1 (en) * | 1998-05-15 | 2001-04-03 | International Business Machines Corporation | Searching and conditionally serving bookmark sets based on keywords |
US6006225A (en) * | 1998-06-15 | 1999-12-21 | Amazon.Com | Refining search queries by the suggestion of correlated terms from prior searches |
US6144958A (en) * | 1998-07-15 | 2000-11-07 | Amazon.Com, Inc. | System and method for correcting spelling errors in search queries |
CA2244431C (en) * | 1998-07-30 | 2002-02-19 | Ibm Canada Limited-Ibm Canada Limitee | Touchscreen keyboard support for multi-byte character languages |
US6278449B1 (en) * | 1998-09-03 | 2001-08-21 | Sony Corporation | Apparatus and method for designating information to be retrieved over a computer network |
US20020174145A1 (en) * | 1998-10-16 | 2002-11-21 | Brady Duga | Automatic data formatting using a hypertext language |
US7779015B2 (en) * | 1998-12-18 | 2010-08-17 | Microsoft Corporation | Logging and analyzing context attributes |
US6751606B1 (en) * | 1998-12-23 | 2004-06-15 | Microsoft Corporation | System for enhancing a query interface |
US6631496B1 (en) * | 1999-03-22 | 2003-10-07 | Nec Corporation | System for personalizing, organizing and managing web information |
US6493702B1 (en) * | 1999-05-05 | 2002-12-10 | Xerox Corporation | System and method for searching and recommending documents in a collection using share bookmarks |
US6321228B1 (en) * | 1999-08-31 | 2001-11-20 | Powercast Media, Inc. | Internet search system for retrieving selected results from a previous search |
US6393389B1 (en) * | 1999-09-23 | 2002-05-21 | Xerox Corporation | Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions |
US6546393B1 (en) * | 1999-10-07 | 2003-04-08 | Clickmarks, Inc. | System method and article of manufacture for dynamically user-generated internet search directory based on prioritized server-sided user bookmarks |
US6199986B1 (en) * | 1999-10-21 | 2001-03-13 | University Of Rochester | Rapid, automatic measurement of the eye's wave aberration |
US6546388B1 (en) * | 2000-01-14 | 2003-04-08 | International Business Machines Corporation | Metadata search results ranking system |
US6704727B1 (en) * | 2000-01-31 | 2004-03-09 | Overture Services, Inc. | Method and system for generating a set of search terms |
US8291007B2 (en) * | 2000-02-22 | 2012-10-16 | Flash Networks Ltd | System and method to accelerate client/server interactions using predictive requests |
CA2407974A1 (en) * | 2000-03-16 | 2001-09-20 | Poly Vista, Inc. | A system and method for analyzing a query and generating results and related questions |
US6564213B1 (en) * | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
US6687689B1 (en) * | 2000-06-16 | 2004-02-03 | Nusuara Technologies Sdn. Bhd. | System and methods for document retrieval using natural language-based queries |
US7149970B1 (en) * | 2000-06-23 | 2006-12-12 | Microsoft Corporation | Method and system for filtering and selecting from a candidate list generated by a stochastic input method |
US8706747B2 (en) | 2000-07-06 | 2014-04-22 | Google Inc. | Systems and methods for searching using queries written in a different character-set and/or language from the target pages |
EP1182581B1 (en) * | 2000-08-18 | 2005-01-26 | Exalead | Searching tool and process for unified search using categories and keywords |
US6647383B1 (en) * | 2000-09-01 | 2003-11-11 | Lucent Technologies Inc. | System and method for providing interactive dialogue and iterative search functions to find information |
US6598051B1 (en) * | 2000-09-19 | 2003-07-22 | Altavista Company | Web page connectivity server |
US20020078045A1 (en) * | 2000-12-14 | 2002-06-20 | Rabindranath Dutta | System, method, and program for ranking search results using user category weighting |
US7216290B2 (en) * | 2001-04-25 | 2007-05-08 | Amplify, Llc | System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources |
US20020187815A1 (en) * | 2001-06-06 | 2002-12-12 | Douglas Deeds | Contact lookup by partial string entry in a communication device |
US6990494B2 (en) * | 2001-07-27 | 2006-01-24 | International Business Machines Corporation | Identifying links of interest in a web page |
US6708250B2 (en) * | 2001-09-28 | 2004-03-16 | Mosaid Technologies Incorporated | Circuit and method for performing variable width searches in a content addressable memory |
US7096218B2 (en) * | 2002-01-14 | 2006-08-22 | International Business Machines Corporation | Search refinement graphical user interface |
JP2003223586A (en) * | 2002-01-30 | 2003-08-08 | Matsushita Electric Ind Co Ltd | Information processor, url providing device, information processing system and information processing method |
US20030145087A1 (en) * | 2002-01-31 | 2003-07-31 | Keller S. Brandon | Generating a list of addresses in a server |
JP4650920B2 (en) | 2002-04-16 | 2011-03-16 | 富士通株式会社 | Information processing apparatus and information processing program |
US7174288B2 (en) * | 2002-05-08 | 2007-02-06 | Microsoft Corporation | Multi-modal entry of ideogrammatic languages |
US20030220913A1 (en) * | 2002-05-24 | 2003-11-27 | International Business Machines Corporation | Techniques for personalized and adaptive search services |
US7428523B2 (en) * | 2002-07-11 | 2008-09-23 | Oracle International Corporation | Portal bridge |
US7418494B2 (en) * | 2002-07-25 | 2008-08-26 | Intellectual Ventures Holding 40 Llc | Method and system for background replication of data objects |
US7185271B2 (en) * | 2002-08-20 | 2007-02-27 | Hewlett-Packard Development Company, L.P. | Methods and systems for implementing auto-complete in a web page |
US7111000B2 (en) * | 2003-01-06 | 2006-09-19 | Microsoft Corporation | Retrieval of structured documents |
US8447775B2 (en) * | 2003-06-13 | 2013-05-21 | Microsoft Corporation | Database query user interface to assist in efficient and accurate query construction |
US8346587B2 (en) * | 2003-06-30 | 2013-01-01 | Microsoft Corporation | Models and methods for reducing visual complexity and search effort via ideal information abstraction, hiding, and sequencing |
CN1601524A (en) * | 2003-09-25 | 2005-03-30 | 鸿富锦精密工业(深圳)有限公司 | Fuzzy inquiry system and method |
US7640232B2 (en) * | 2003-10-14 | 2009-12-29 | Aol Llc | Search enhancement system with information from a selected source |
US7158966B2 (en) * | 2004-03-09 | 2007-01-02 | Microsoft Corporation | User intent discovery |
US7254774B2 (en) * | 2004-03-16 | 2007-08-07 | Microsoft Corporation | Systems and methods for improved spell checking |
US7587324B2 (en) * | 2004-03-30 | 2009-09-08 | Sap Ag | Methods and systems for detecting user satisfaction |
US7428529B2 (en) * | 2004-04-15 | 2008-09-23 | Microsoft Corporation | Term suggestion for multi-sense query |
US7836044B2 (en) | 2004-06-22 | 2010-11-16 | Google Inc. | Anticipated query generation and processing in a search engine |
US20060106769A1 (en) * | 2004-11-12 | 2006-05-18 | Gibbs Kevin A | Method and system for autocompletion for languages having ideographs and phonetic characters |
US7571161B2 (en) * | 2005-05-13 | 2009-08-04 | Microsoft Corporation | System and method for auto-sensed search help |
US7587385B2 (en) * | 2005-08-30 | 2009-09-08 | Sap Ag | Autocompletion for unordered lists |
US7676517B2 (en) * | 2005-10-14 | 2010-03-09 | Microsoft Corporation | Search results injected into client applications |
US8010523B2 (en) | 2005-12-30 | 2011-08-30 | Google Inc. | Dynamic search box for web browser |
US20120036011A1 (en) * | 2010-08-05 | 2012-02-09 | Microsoft Corporation | Search Personalization Using Identifiers and Authentication State |
US8515984B2 (en) * | 2010-11-16 | 2013-08-20 | Microsoft Corporation | Extensible search term suggestion engine |
-
2005
- 2005-12-30 US US11/321,075 patent/US8010523B2/en active Active
-
2006
- 2006-12-28 EP EP06840354A patent/EP1969497A1/en not_active Ceased
- 2006-12-28 KR KR1020087018865A patent/KR100991224B1/en active IP Right Grant
- 2006-12-28 WO PCT/US2006/062651 patent/WO2007079388A1/en active Application Filing
- 2006-12-28 CA CA2635783A patent/CA2635783C/en active Active
- 2006-12-28 EP EP12178506.7A patent/EP2546766B1/en active Active
- 2006-12-28 CN CN200680053610.1A patent/CN101395604B/en active Active
-
2011
- 2011-08-15 US US13/209,598 patent/US8639684B2/en active Active
-
2013
- 2013-12-18 US US14/132,697 patent/US9275106B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20140108446A1 (en) | 2014-04-17 |
US8639684B2 (en) | 2014-01-28 |
KR20080091183A (en) | 2008-10-09 |
KR100991224B1 (en) | 2010-11-01 |
WO2007079388A1 (en) | 2007-07-12 |
CA2635783A1 (en) | 2007-07-12 |
CN101395604B (en) | 2015-09-16 |
EP2546766B1 (en) | 2019-06-12 |
CN101395604A (en) | 2009-03-25 |
US20070162422A1 (en) | 2007-07-12 |
US20110302188A1 (en) | 2011-12-08 |
EP1969497A1 (en) | 2008-09-17 |
US9275106B2 (en) | 2016-03-01 |
EP2546766A1 (en) | 2013-01-16 |
US8010523B2 (en) | 2011-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2635783C (en) | Dynamic search box for web browser | |
US8868539B2 (en) | Search equalizer | |
US10175860B2 (en) | Search intent preview, disambiguation, and refinement | |
US8978033B2 (en) | Automatic method and system for formulating and transforming representations of context used by information services | |
US20090193352A1 (en) | Interface for assisting in the construction of search queries | |
KR101215791B1 (en) | Using reputation measures to improve search relevance | |
US10108720B2 (en) | Automatically providing relevant search results based on user behavior | |
JP4962967B2 (en) | Web page search server and query recommendation method | |
EP2109050A1 (en) | Facilitating display of an interactive and dynamic cloud of terms related to one or more input terms | |
US20180081880A1 (en) | Method And Apparatus For Ranking Electronic Information By Similarity Association | |
US20150006505A1 (en) | Method of and system for displaying a plurality of user-selectable refinements to a search query | |
US20060248078A1 (en) | Search engine with suggestion tool and method of using same | |
US20040122816A1 (en) | Method, apparatus, and program for refining search criteria through focusing word definition | |
US20140280289A1 (en) | Autosuggestions based on user history | |
CA2602900A1 (en) | Multi-fielded web browser-based searching of data stored in database | |
JP2008508605A (en) | Search system and method using inline context query | |
US10042934B2 (en) | Query generation system for an information retrieval system | |
US20230117568A1 (en) | Knowledge attributes and passage information based interactive next query recommendation | |
EP2189917A1 (en) | Facilitating display of an interactive and dynamic cloud with advertising and domain features | |
US20220207096A1 (en) | Search Enhanceer Interface Using Multiple Dictionaries | |
WO2008092171A2 (en) | Interface for assisting in the construction of search queries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request |