Not applicable.
Not applicable.
Embodiments of the present invention relate to the field of network-based and desktop searches of local and network data stores. More particularly, but not by way of limitation, embodiments of the present invention provide a new and useful method and system of enhancing initial search results based on data types and properties returned by the initial search.
Many computer-related applications allow the ability to perform keyword searches for information located on a data store or data stores. Applications such as email programs, word-processing programs, and Internet browsers offer various search capabilities. In relation to browsers, with the wealth of information that may be found on the Internet, various search engines are utilized for keyword searching of the Internet for content specific to the keywords which are inputted into the search engine. A typical search engine generates a set of search results based on the occurrence of the keywords in web pages or meta-tags within web pages.
In addition, desktop applications, such as email programs, allow similar searches to be performed using keywords to generate a list of files including the keyword. For example, an e-mail program may allow searching of an inbox for a sender's e-mail address, a recipient's e-mail address, or keywords occurring in subject lines. Results having only those parameters defined in the keyword search are displayed.
These types of keyword searches do not display additional information that may be relevant to the search. With an Internet browser keyword search, if the keywords are non-specific or wrong, irrelevant search results may be returned. For example, if a search is performed for an illness originating in a hospital, the keywords “illness originating in a hospital” might be used. Results referring to various illnesses and “originating hospitals” might be returned. However, the keyword search was intended to find results pertaining to nosocomial illnesses, or secondary disorders associated with being treated in a hospital, such as staph infections, but unrelated to a patient's primary condition, which may be a broken arm. Thus, the initial search did not provide useful results. In another example, a search for emails sent from a particular individual in an email program may return the emails set from the individual, but no further information, such as the individual's company information, and suggested additional actions and searches are returned.
Current search technologies are, in general, inefficient and ineffective. There is a need in the art to provide enhanced searching capabilities when searching local or network data stores. An enhancement of searching capabilities would greatly increase the efficiency and effectiveness of searching, while suggesting additional action which may be beneficial to the original search.
Embodiments of the present invention provide a novel method and system for enhancing keyword searches of local and network data stores. More particularly, but not by way of limitation, embodiments of the present invention provide a user performing a keyword search of a local and/or a network data store additional searches, actions, and information based on the properties and file types returned in the initial search. Embodiments of the present invention may have several practical applications in the technical arts, including, but not limited to, enhancing network-based and desktop searching thereby increasing the effectiveness and efficiency of search capabilities.
In one embodiment, a method is provided for enhancing a data store query. The method comprises providing initial sets of data values responsive to a query of several data stores, generating related sets of data values based on characteristics of portions of the initial set of data values, and refining the initial set of data values based on the characteristics found in the portion of the initial set of data values. Finally, the initial set of data values and refined set of data values are presented on a presentation device.
In another embodiment, a computer system having a graphical user-interface including a display and a user-interface selection device is provided for generating one or more options relating to a data store query. The method comprises generating one data set responsive to an input data string, and based on the attributes of the generated data set, producing associated data sets. The method further comprises presenting the generated data set and a portion of the display and based on the associated data sets having a percentage of attributes exceeding a threshold, presenting options and one or more portions of the display.
In yet another embodiment, a computer readable media having computer-useable instructions embodied thereon performs a method of providing additional selections related to an initial search of several data stores. The method comprises querying the data stores in response to an input data string or keyword, where initial data values are returned in response to the query. The method further comprises deriving from the initial data values one or more characteristics, and if an occurrence of a characteristic exceeds a predetermined threshold, the method re-queries the data stores based on the characteristics and returns several secondary data values in response to the re-query. Finally, the initial data values and the secondary data values are displayed on a presentation device.
Additional features are described in greater detail below.
Embodiments of the present invention are described in detail below with reference to the attached drawing figures, which are incorporated in their entirety by reference herein and wherein:
Embodiments of the present invention provide a novel method and system for enhancing an initial query of one or more data stores by refining the initial query using similar file types and similar file properties found in the initial query. The novel method and system illustrated in the various embodiments of the present invention may, in some embodiments, perform a noun extraction wherein reoccurring phrases or words found in the initial results, but not found in the initial query, may be used to create a second query using the words or phrases extracted from the results of the initial query. Moreover, in some embodiments, common file types returned in the initial query may be used to provide additional searches, actions, and information related to the initial query. In other embodiments, noun-extraction and common file types may be used to enhance an initial query. Thus, embodiments of the present invention enhance results returned by an initial keyword search of a data store or data stores by using common file types and file properties. Although noun extraction and common file types are utilized to explain enhancement of an initial query returning primary search results, the scope of various embodiments of the present invention are not limited to the aforementioned enhancement techniques.
Embodiments of the present invention will be better understood from the detailed description provided below and from the accompanying drawings of various embodiments of the invention. The detailed description and drawings, however, should not be read to limit the invention to the specific embodiments. Rather, these specifics are provided for explanatory purposes to help the invention to be better understood.
Specific hardware devices, programming languages, components, processes, and numerous details including operating environments and the like are set forth to provide a thorough understanding of the present invention. In other instances, structures, devices, and processes are shown in block diagram form, rather than in detail, to avoid obscuring embodiments of the present invention. But an ordinary-skilled artisan would understand that embodiments of the present invention may be practiced without these specific details. Computer systems, servers, workstations, and other machines may be connected to one another across the communications medium including, for example, a network or network of networks.
A network may be, but is not limited to, either an Internet network, intranet network, local area network (LAN), metropolitan area network (MAN), wide area network (WAN), or combination thereof without limiting the scope of various embodiments of the present invention. Further, illustrative data stores used to explain various embodiments of the present invention may include, but are not limited to, data structures comprising databases, spreadsheets, text documents and any other structure capable of being a data storage medium. Moreover, computing systems capable of utilizing the various embodiments of the present invention include, but are not limited to, personal digital assistants (PDAs), personal computers, servers, workstations, and other machines.
Turning to
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data stores that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Turning again to
Device 100 may also contain communications connection(s) 112 that allow the device to communicate with other devices. Communications connection(s) 112 is an example of communication media. Communication media typically embodies computer readable instructions, data stores, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
Device 100 may also have input device(s) 114 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 116 such as a display, speakers, printer, etc. may also be included. All these devices are well know in the art and need not be discussed at length here.
Turning now to
User-machine 210 procures information from data stores 222 and 220, which may be located external from user-machine 210 on servers 216 and 218. Data stores 222 and 220 may comprise, but are not limited to, data structures comprising data such as text, HTML, and XML documents, music or video files or any other data capable of being stored on a data store. Although embodiment 200 illustrates one network 214, two servers 216 and 218, and two data stores 222 and 220, any number of data stores, serves, or networks may be utilized without limiting the scope of embodiments of the present invention.
In operation, a keyword search request for information on data stores 220 and 222 is initiated by user-machine 210. Servers 216 and 218 receive the keyword search request via network 214 and return relevant information from data stores 222 and 220 to user-machine 210. The information is then displayed on a presentation device (not shown) and utilized by a user of user-machine 210. In accordance with exemplary methods illustrated in
Referring now to
In operation, a keyword search is performed on user data store 310B and optionally on data stores 320 and 322 through network 314. Information returned from user data store 310B may be enhanced by additional queries of data stores 320 and 322 in accordance with the embodiments of enhancement methods illustrated in
Turning now to
Referring now to
Turning to
At 614, for each attribute that is above the threshold selected at step 612, primary search results and additional actions based on the attributes are rendered at a step 618. Step 618 may comprise additional searches relating to file properties and/or file types. At a step 616, if the secondary search results comprising file properties and file types do not rise above a certain threshold, only the primary search results are rendered.
Referring now to
Referring now to
Turning now to
In addition, the aforementioned noun extraction technique may be utilized in conjunction with file type analysis to provide a more comprehensive enhancement of primary search results returned by the initial query. With reference to
The present invention has been described in relation to particular embodiments, which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those skilled in the art that do not depart from its scope. Many alternative embodiments exist, but are not included because of the nature of this invention. A skilled programmer may develop alternative means of implementing the aforementioned improvements without departing from the scope of the present invention. It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations and are contemplated within the scope of the claims. Not all steps listed in the various figures need to be carried out in the specific order described. Not all steps of the aforementioned flow diagrams are necessary steps.