The following detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments, which are also referred to herein as “examples,” are described in enough detail to enable those skilled in the art to practice the invention. The embodiments may be combined, other embodiments may be utilized, or structural, logical and electrical changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.
In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one. In this document, the term “or” is used to refer to a nonexclusive or, unless otherwise indicated. Furthermore, all publications, patents, and patent documents referred to in this document are incorporated by reference herein in their entirety, as though individually incorporated by reference. In the event of inconsistent usages between this document and those documents so incorporated by reference, the usage in the incorporated reference(s) should be considered supplementary to that of this document; for irreconcilable inconsistencies, the usage in this document controls.
This document describes a mechanism to improve the user experience for users of search technologies. These technologies are exemplified in today's marketplace by Google and Yahoo, but include many other search providers, such as are used in on-line retail offerings (Mercado, MondoSoft), in Service Resolution Management offerings for customer service and support (Knova, ATG, Inquira), in enterprise search, and other search applications. The mechanism could function as a separate technology layer, e.g., sitting between the users and the search technology, or could be built into the search technology.
Among other things, is the mechanism provides an administrative interface (called a search experience editor) that supports a WYSIWYG (What You See Is What You Get) or like type of interaction with a search system, that is, the administrative user can search and see the search results much as they would in an end-user interface to the same search system. The interface provides a set of controls that allow the administrative user to manipulate the results or the presentation of the results. For example, the administrative user can add and delete results, edit results, and modify the organization and presentation of results.
In certain examples, the actions taken by the administrative user are recorded in a manner that allows the system to use the record of them to modify the search results and presentation of such results in the end-user interface for the search system. This permits an administrative user to perform a search in this administrative search experience editor, and to tailor the results to their liking. The tailoring is saved such that other users (e.g., end-users) that do that same search or related searches in the normal end-user search interface will see the tailored results. This saved record of the tailoring may also be used to affect the results and presentation of results in the search experience editor, such as to allow further tailoring, or re-tailoring by the same or a different administrative user.
The administrative user of the search experience editor can affect the user experience of an end-user of the search system, hence the term “search experience editor”. A “tailored search” can be used to describe a search in combination with one or more manipulations that tailor the search results or the presentation of such results.
These component are used in concert with a search system, which could be a search engine like Google or Yahoo or FAST.
In different circumstances, the search experience editor may be used by different populations. In some circumstances—for example, an online vendor—only a website administrator will typically have access to the search experience editor, so that the tailoring of searches is well controlled. In a call center search application, experienced call center agents may have access to the search experience editor, so that they can improve the search experience for their peers and for less experienced agents, but inexperienced agents may not have access. In a search application for a community of interest (say, summer camp enthusiasts), in certain examples, all community members would have access to the search experience editor. In other examples, there would be some mechanism to identify and discriminate between deemed experts or other such members that would have access to the search experience editor, and other members that would not. For an internet search engine, all ranges of control are conceivable, from no-one having access to the search experience editor to everyone having access to the search experience editor. In certain examples, a search engine could supply two alternative end-user search interfaces, one returning tailored results and one returning “raw” results.
Note that “a search” need not refer to a single particular search string, but can refer to a set of aggregated individual queries. For example, “Dog” and “dog” can be two instances of the same search, as can “dog” and “dogs”, as can “dog” and “mutt”. Similarly, “how do I disable logging”, “how can I disable logging”, “disable logging”, and “disable tracing” all may be instances of the same search. In certain examples, a particular tailored search applies to a set of individual queries that are conflated by the search system. Examples of techniques used to conflate the queries above are capitalization normalization, stemming, and synonym usage, and stopword recognition. In fact, a tailored search can apply to any set of queries that can be conflated using any technique. It can be valuable, in certain examples, to conflate queries that are a bit further afield, such as “disable logging” and “disable logging on Windows”, enlarging the set of queries for a particular tailored search so as to allow more end-users to reap the benefits of the tailoring.
“Search index results” typically refers to a set of items, usually documents, found by a search engine in its index. Search index results can be regarded as distinct from advertisements that are often placed on the screen that to fund the free (to the end-user) Internet search provided by Google or Yahoo. In the present context, such advertisements would not be considered part of the search index results, nor would the spelling suggestions offered by certain search engines, nor would the Related Names links offered by Ask.com, nor the stock quotes lookup widget provided by some search engines when a company or stock symbol is recognized in the query, nor the mortgage calculator provided when deemed relevant to the query, nor would other search results that fall outside search index results.
A search experience editor is useful to provide an interface to an administrative user and to receive input relating to one or more modifications of an end-user search experience. In an example, the administrative user can manage an end-user's search experience through an administrative search experience editor that provides the administrative user with graphic visual information about the information that will be presented to an end-user in response to an end-user-query. The end-user query can include, for example, textual or like information entered by the end-user. In certain examples, the end-user query can also include session context or metadata. In an example, the search experience editor provides an administrative interface that presents one or more items that are graphically load out in a configuration that is representative of a layout and other graphical appearance of an end-user interface. Such substantial similarity, in the present context, provides a what-you-see-is-what-you-get (WYSIWIG) search-experience interface that presents to an administrative user information such as search results laid out very similarly to how they would actually appear in an end-user interface.
In
At 110, administrative user input is received, such as relating to a modification or tailoring of one or more of the plurality of items or how they are configured or displayed. In an example, a title or synopsis of an item is modified. In another example, an item is added to or removed from the tailored display of the administrative interface. For example, a non-applicable or redundant item may be removed from the tailored display of the search results so that an end-user does not have to consider the non-applicable or redundant item. In another example, a non-applicable or redundant specialized interaction interface entry point may be removed from the tailored display of the administrative interface. In another example, a relevant specialized interaction interface entry point may be added to the tailored display of the administrative interface. In another example, an item is moved to a different organizational unit or a different location in the tailored display of the administrative interface. For example, an item may be moved or copied from one pane to another, such as from a search index results pane to a best bet pane of the tailored display. In another example, the items are reordered in the tailored display. For example, a highly pertinent item may be moved toward the top of a results list. In another example, an item is edited or renamed. In another example, a property of an item is edited. In another example, two or more items are merged. In another example, a preview of a tailored display of the end-user search interface is presented.
Tailoring a search experience by modifying an item configuration may include, for example, changing an order in which the items are displayed, changing a division of items into display regions such as panes, or highlighting or otherwise emphasizing of one or more featured items. In certain examples, an advertisement can be moved, enlarged, added, or removed (i.e. dissociated) from the tailored display using the administrative interface. In another example, an administrative-user of the search experience editor can also directly access an authoring system, such as to modify a text document or other item. In another example, the administrative user of the search experience editor does not have permission to edit documents, but instead can access a recommend edit control, which initiates an interface that receives a request for modification of a document by an owner of edit privileges to the document.
In an example, a parameter is specified to be passed to a specialized transaction interface. In another example, the query item, part of the query item, or one or more of the additional items associated the query item is specified to be passed to a specialized transaction interface.
At 115, at least one parameter relating to the modification of one or more of the plurality of items or the configuration of the one or more items is saved in a tailoring record. In an example, the record is saved on a network storage unit, for example, such as a hard drive coupled to a server.
The items are optionally displayed in a WYSIWYG-like search experience editor administrative interface that displays items to the administrative user substantially as the items would be displayed in an end-user search interface. In an example, one or more controls that are not available in the end-user search interface are displayed in the WYSIWYG administrative user interface. The administrative user input for tailoring the end-user's search experience is receivable through the controls. Examples of the controls include, without limitation, an icon, a link, a drag-and-drop capability, a text box, a pulldown, or a slider.
At 130, it is determined whether the first query class contains at least one trigger query class associated with the record. As an illustrative example, the query class “used bicycle parts” could include the trigger query class “bicycle parts.” In an example, a trigger query class is selected based upon the closeness, e.g. the similarity in scope or language, of the trigger query class to the first query class. For example, the trigger query class “bicycle parts” is closer to “used bicycle parts” than the trigger query class “bicycle.” In
At 140, one or more other queries associated with the record are displayed in the administrative user interface. In an example, the one or more queries are presented in a query match pane.
At 145, the modification specified by the administrative user input is applied in a specified context. In an example, the modification is applied only when an end-user specified query contains at least one trigger query class associated with the modification. In another example, the specified context is determined using a history of one or more previous searches. In another example, the modification is applied when the query includes a specified product or product group, a specified document type, a specified author, a specified user group, or a specified customer group. In another example, the modification is applied more broadly. In an example, the modification is applied to an underlying knowledge representation. For example, a modification to an item may be applied to all instances in which the item is displayed as a search result.
In the example of
The search experience editor is typically implemented in a network environment.
At 620, a first query is received through an end-user interface. At 625, it is determined whether the first query qualifies as a trigger for the record. In an example, a query qualifies as a trigger if the query is in a list of queries or query classes associated with the record, or if the query contains a specified query class or is in a specified query class. In an example, determining whether the first query qualifies as a trigger for the record includes identifying a first query class associated with the first query, and determining whether the first query class qualifies as a trigger for the record. In an example, identifying a first query class includes determining a normalized version of the first query. In an example, receiving a first query includes receiving first and second query strings, and determining whether the first query qualifies as a trigger includes determining a query class using the first query string, the second query string, or both, and determining whether the query class qualifies as a trigger.
If the first query qualifies as a trigger, at 630, at least one responsive item in the end-user interface is displayed using the at least one parameter relating to the modification of one or more of the plurality of items or the configuration of the one or more items. In an example, a set of resources are searched, and a result of the searching is displayed. In an example, the resources may include text documents, web pages, animations, video, audio, or other content. The result of the searching is modified using the record. For example, an item in the result may be moved upward in the displayed search result or presented as a best bet item instead of merely an item in a results list. As another example, a specialized transaction interface listed in the record is displayed in response to the first query qualifying as a trigger.
This is particularly suitable in the present context, in which there may be large numbers of search experience modification records and large numbers of query inputs. At 815, the display provides results responsive to the query using the search experience modification record. This may include displaying results using an instruction specified by the search experience modification record, such as to add an item to the administrative interface display, to remove an item from the administrative interface display, to move an item to a different organizational unit or a different location in the administrative interface display, to reorder an items or items on the display, to edit a displayed item, to rename a displayed item, to merge two or more items, or to edit a property of an item.
In certain examples of
In certain examples of
In the example of
An example administrative interface, sometimes called a search experience editor, is illustrated in
Each tailored search has an associated search experience modification record. Information provided to populate columns 1120, 1125, 1130, 1135, 1140, 1145, 1150, and 1155, as well as other properties, are stored in the search experience modification record, and the search experience modification record provides this information to the search experience editor so that it can display a tailored search index such as is shown in
As mentioned above, if a tailored search listed in
In an example, the editing interface 1200, also called the administrative interface 1200 includes a number of panes, such as the Query pane 1210, the Best Bet pane 1220, the Search Index Results pane 1230, the Navigation Areas pane 1240, and the Query Matches pane 1250. The visual search editor optionally includes one or more additional panes, such as a Sponsored Results pane, another Featured Results pane, or a set of Specialized Transaction Interface panes.
In an example, there visual search editor provides a Query pane 1210 that displays and supports editing of one or more elements or properties that specify the search, including the query string 1211, the New Query button 1212, the Search Properties link 1213, and the scope 1214 of the search. In certain examples, the contents of various other panes (e.g., Search Index Results pane, Best Bets pane, etc.) relate to the search specified in the Query pane 1210.
In an example, is the visual search editor provides a Featured Results pane 1220 for displaying content that the administrative user determines the sponsoring enterprise would wish end-users to see in response to the particular search query specified in the Query pane (whether that content is returned in the search index results for that query's search, or not).
In an example, the visual search editor provides a Search Index Results pane 1230 for displaying content in the search index that relates to the particular search query specified in the Query pane 1210.
In an example, the visual search editor provides one or more Navigation panes in which one or more navigation aids corresponding to the search query are shown. In another example, there is a Navigation Area pane 1240 with distinct, optionally labeled areas in which Navigation panes such as 1260, 1270 can be organized. In another example, Navigation panes such as 1260, 1270 in which navigation aids such as 1271 are shown may be freely placed in any location in the visual search editor's user interface display. In another example, navigation aids such as 1271 may be freely placed in any location in the visual search editor's user interface display.
In an example, the visual search editor provides a Specialized Transaction Interface pane in which one or more Specialized Transaction Interfaces are shown. In another example, there is a Specialized Transaction Interface Area pane with distinct, optionally labeled areas in which Specialized Transaction Interfaces panes can be organized. In another example, Specialized Transaction Interfaces may be freely placed in any location in the visual search editor's user interface display.
In an example, there is a Query Matches pane in which queries that match the specified search (if any) are shown.
One aspect of the visual search editor is that the administrative user's manipulations, to modify the end-user's search experience, are done in a WYSIWYG fashion. This permits the administrative user to edit the search experience in a visual search editor interface that is substantially similar to and strongly representative of the actual search interface seen by the end-user. This advantageously allows the administrative user to concentrate on the desired outcome for the end-user, rather than on the manner of expressing that outcome—the expression is simply to make the search interface display look right for the end-user.
The subject matter of the panes shown in
Items in the Search Index Results pane 1230 can also be reorganized by the administrative user by dragging and dropping, as can items such as 1271, 1272 in any Navigation Area, as well as Navigation Areas such as 1260, 1270 themselves. In an example, the panes themselves can also be rearranged, e.g., the placement of the Search Index Results pane 1230 and Navigation Area pane 1240 could be swapped. In an example, the panes can be dragged and dropped. A control in the administrative visual search experience editor allows the administrative user to drag and drop the panes in the screen, or to otherwise specify the location of a pane for an end-user (such as via a description of the location; upon submitting the description, the panes are moved to the specified location in the administrative visual search experience editor screen). The location of each pane specified by the administrative user is recorded in the search experience modification record. When the screen is rendered in the end-user interface, the rendering engine consults the search experience modification record and renders the panes in the locations specified by the administrative user.
The panes typically include various graphical user interface (GUI) or other controls that enable the administrative user of the visual search experience editor to edit the organization of the items in the administrative and end-user interfaces as well as the inclusion or exclusion of items from the administrative or end-user interface. For example, several of the panes include a “remove” control, such as represented by a minus sign in a circle (1224, 1235, 1275), and an “add” control, such as represented by a plus sign in a circle (1222, 1238, 1244, 1266, 1276). The remove control removes the item to which it visually corresponds. The add control allows an administrative user of the search experience editor to specify an item to add. Other graphical or textual icons could be used and associated with the same or similar operations. Other controls are present as well. Each control performs two actions, one on the display of the administrative interface, which is immediately visible to the administrative user, and one on the search experience modification record, which records enough information to reproduce the action in the end-user interface. For example, when an Add control is used to add an item, information about the item, the fact that it has been added, and where it is added in the display are all typically recorded in the search experience modification record. When the query 1211 from the query pane 1210, or a sufficiently similar query, is entered in the end-user interface, such recorded instructions are used to reproduce in the end-user interface the actions specified by the administrative user in the administrative interface, thereby making the end-user display substantially similar to the administrative interface display. The query 1211 from the query pane 1210 can be referred to as the “trigger query”. When a query entered in the end-user interface is recognized as being sufficiently similar to the trigger query, the tailored search is said to be “triggered”—we also say that the tailored search “fires”—which means that the instructions recorded for that search's experience are consulted to modify the end-user interface. For example, when an end-user runs a search that triggers a tailored search, the added items listed in the search experience modification record are added to the end-user's search results.
The Query pane 1210 has a Query field 1211 that lists the query for the tailored search, here “Buddy List.” The name of the tailored search can (but need not) be but is not necessarily the same as the query for that search. In an example, the Query pane 1210 has a New Query button 1212; selecting the New Query button 1212 refreshes the contents of the panes using the current search criteria, which may be modified by the search experience editor user. In an example, the Query pane 1210 has a Search Properties link 1213 that takes the user to an interface (exemplified by
The Best Bet pane, or Featured Results pane, 1220, titled “Best Bets” and may contain zero or more items 1221 that have been determined by a person such as the administrative user to be likely to be responsive to the particular query. In an example, the item 1221 is a search result selected from the search index results pane 1230 by a search experience editor's administrative user and dragged or otherwise promoted into the featured result pane 1220. In another example, the item 1221 is selected by a search engine and optionally automatically populated into the Best Bets pane. The Best Bets pane 1220, for example, includes an add control 1222 that allows the search experience editor's administrative user to select items (e.g., other than items found by the search engine and placed in the search results) and add them to the Best Bets area. In an example, the featured results pane includes an add-existing control 1223 that pops up a list of candidate featured results from which the search experience editor's administrative user can choose, while the add control 1222 pops up a search interface in which the search experience editor user can search for a featured result to add. In an example, the featured results pane 1220 includes a create control that allows the search experience editor's administrative user to create a new item and add it to the Best Bets area. In another example, a single control supports both adding existing items and creating new items.
However an item is selected or created by the administrative user, it is then immediately displayed in as an item (e.g. 1221) in the Best Bets pane 1220. The selected item is added to a list of featured results or best bets in the search experience modification record. When the tailored search is triggered by an end-user's query, the list of featured results in the modification record is examined, and the items found therein are displayed in the Best Bets or like featured results pane in the end-user interface. The featured results seen by the search experience editor's administrative-user (after any manipulation) are the same as the featured results for that search seen by the end-user; this is consistent with the WYSIWYG aspect of the visual search editor.
In an example, the Best Bets or other featured results pane 1220 includes two or more featured results that are presented in a visual configuration that is representative of how such results are presented in an end-user search interface display. Such results are modifiable or movable by a search experience editor's administrative user, for example, by dragging and dropping the items to place them in a desired order. A change to the order of the items in the search experience editor causes a corresponding change to the order of the items in the list of featured results in the search experience modification record. The items are then displayed in the end-user interface in the order specified in the search experience modification record. In this way, the order of the items shown in the search experience editor (after modification by the administrative user) corresponds to the order in which they are shown in an end-user search interface.
The featured results pane 1220 typically includes a delete control 1224 displayed next to each item 1221. If the delete control 1224 is selected by the administrative user, the corresponding item is removed from the particular Best Bets or other featured results pane 1220 and is also removed or otherwise suppressed from the search experience modification record's list of featured results to be displayed. Not being in the list, the item will not be displayed in the Best Bets or other featured results pane in the end-user interface when the tailored search is triggered.
The featured results pane 1220 alternatively includes featured results other than best bets, such as sponsored results (e.g., advertisements), for example. In an example, a visual search experience editor includes two or more featured results panes, which are displayed in an arrangement that is representative of how the results are displayed in an end-user interface, and which are capable of being arranged by a search experience editor's administrative user, such as through drag-and-drop or other techniques. In this example, each featured results pane has a corresponding featured results list, or similar tracking information, in the search experience modification record.
In an example, selecting the add-existing item control 1223 initiates an add item interface such as the add item interface 1600 shown in
In
In
In another example, when such a delete control 1235 is selected, the search experience editor's administrative user is asked whether the associated search result is to be removed from the particular tailored search experience only (in which case the scenario described above holds) or is to be removed entirely from the system, in which case the search experience modification record is not changed, but the knowledge representation underlying the system—in this case, the collection of content over which the search engine searches—is modified by removing that item from the collection. If removed entirely, the removed item will not appear in the search index results pane in the end-user interface when the tailored search is triggered; neither will it appear for any search that does not trigger the particular tailored search experience.
In an example, the search experience editor's administrative user can limit the number of search results or search index results shown for a particular search. In an example, the number of items to be shown is specified in a text entry box in the search experience editor. In another example, a cut-off point is defined in the results list, such as by using a GUI control (e.g., a scissors icon that is placed between items in the results pane in the search experience editor), and the number of items to be shown is determined automatically by the counting the items above the cut-off point. In another example, a slider 1236 displays and controls the number of items to be shown; for example, initially the slider 1236 is positioned at the number of items in the search index result set, and it can be placed at any position between 1 and that number. This functionality can be provided using any other appropriate interface mechanism. In any of these examples, the search index results pane in the visual search experience editor is updated to represent the limited number of items, such as by displaying the number or by removing or hiding the unshown items from the interface, or graying or crossing them out, and the corresponding number of items to be shown is written to the search experience modification record. This number is then consulted when the tailored search is triggered, so that no more than that number of items is shown in the end-user search interface during display of the search index results from the tailored search.
Selection of a View Deleted Items control 1237 initiates a view deleted items interface such as the interface 1700 shown in
A search index results pane 1230, may also include an add control 1238. When the add control 1238 is selected by the administrative user, a pop-up appears that allows the administrative user to perform an independent search to find an item to be added, or to specify the location of a known item to be added. An item thus identified by the administrative user can then be added to the search index results pane, such as by the administrative user dragging it into the desired pane or by selecting an “Add” control associated with the identified item. The item is put on a list of added search index results in the search experience modification record. When the tailored search is triggered, the list of added search index results in the modification record is examined, and the items tracked therein are displayed along with the search index results in the search index results pane in the end-user interface. In an example, if the identified item is not in the search index, in this addition process the administrative user may specify that the item should appear in search index results for other searches, in which case it is added to the search index (another instance of using the search experience editor to modify the underlying knowledge representation), or the user may specify that the item is to be shown for this tailored search only (in which case the item is not added to the search index). In an example, in this addition process the item may optionally be edited, or its title or content or appearance may optionally be changed.
In another example, when the add control 1238 is selected by the administrative user, an authoring system is launched. The search experience editor's administrative user is able to create a new search index result, which is put on the list of added search index results in the search experience modification record. In yet another example, when the add control 1238 is selected, the search experience editor's administrative user is able to record or communicate a recommendation that an appropriate piece of content be authored; in this case no change is made to the search experience modification record.
Note that adding and removing items can be done using any suitable technique. For example, removing an item could be done by dragging it to a trash-can icon, or to the Deleted Items link 1237 in the header of the search index results pane 1230.
The search experience editor may be used by call center agents rather than by an administrator. These agents may not have permission to add items to the system. In this case (see, e.g.,
The items in the search index results pane 1230 can also be reordered, such as by the administrative user dragging and dropping items or any other suitable mechanism. For example, the first item 1231 in the search index results pane 1230 can be dragged below the second item 1232 in the pane. In this case, items 1231 and 1232 are placed in an order-of-search-results list in the search experience modification record, 1232 being placed before 1231 in the list. When the tailored search is triggered, the order of the results is changed for being displayed in the order given in the order-of-search-results list.
In another example, items in the search index results pane 1230 can also be moved elsewhere, such as into the featured results pane 1220. An item such as 1233 in the search index results pane 1230 can be dragged by the administrative user into the Best Bets pane 1220, for example. In this case, that item is added to the list of best bets and to the list of removed search results in the search experience modification record. When the tailored search is triggered in the end-user interface, item 1233 will be shown in the best bet pane and will not be shown in the search index results pane, by its being on these search experience modification record lists.
In yet another example, an item such as 1231 or 1232 in the search index results pane 1230 can be moved into a navigation aid such as 1271. The search experience editor's administrative user can drag the desired item 1231 onto the navigation aid 1271; the item is removed from the search index results pane and is displayed in the results set that is shown when the navigation item is selected. To accomplish this, the item 1231 is added to the list of deleted search results in the search experience modification record for the tailored search. Navigation aid 1271 has its own search experience modification record, and item 1231 is added to the list of added search results for that search experience modification record. When the original tailored search experience is triggered in the end-user interface, item 1231 will not be shown in the end-user search interface search index results pane because it is on the list of deleted search results in the original tailored search's search experience modification record. When the navigation aid 1271 is shown in the end-user interface and is selected by the end-user, item 1231 will then be shown in the end-user search interface search index results pane by virtue of being on the navigation aid's search experience modification record's list of added search results.
In an example, one or more navigation aids are provided for selected topics such as topics known to be problematic or of interest to users, or topics being promoted by the enterprise that is providing the search facility. For example,
Navigation aids may be categorized, such as by grouping like items together under a header, which may display the category name. Such a grouping is sometimes referred to as a navigation area. Navigation areas may themselves be grouped together, such as into a Navigation Area pane.
The search experience editor's user controls which navigation areas appear for an end-user during a tailored search. The search experience modification record for the tailored search contains a list of navigation areas to be displayed for that search. When the tailored search is triggered in the end-user search interface, this list is consulted to determine which navigation areas will be presented to the end-user.
There is a control 1244 for adding a navigation area to the navigation area pane 1240. An interface like that exemplified by is used for this purpose. This interface 1300 of
In navigation area pane 1240 in
In an example, the order of navigation area items 1260 and 1270 in the Navigation Areas pane 1240 can be changed, such as by using a drag-and-drop technique. For example, item 1260 can be dragged below item 1270 in the pane. In this case, items 1260 and 1270 are noted in an order-of-navigation-areas list in the search experience modification record, 1270 being placed before 1260 in the list. When the tailored search is triggered, the order of the navigation areas displayed in the end-user interface is changed to conform to the order given in the order-of-navigation-areas list.
The contents of the Navigation Areas (e.g. Activities, Features and Functions, Installation) may be displayed as pull-down menus or lists of navigation aids. A control 1243 in the search experience editor allows the user to set the display to “pull-down” or “list.” When the administrative user sets a value for the display type in the search experience editor, this value is recorded as an attribute of the Navigation Area. In the end-user interface, this attribute is consulted and its value controls the display type of the Navigation Area. In one example, the attribute is associated with the Navigation Area in the underlying knowledge representation and not with the particular tailored search experience modification record. In another example, the attribute is associated with the Navigation Area in the search experience modification record for the particular tailored search experience; when the tailored search is triggered, this attribute in the search experience modification record is used to control the display type of the Navigation Area. In another example, the search experience editor user interface provides the user with a choice of whether to set the attribute in the underlying knowledge representation (in which case it applies to all searches that display the particular Navigation Area) or in the search experience modification record (in which case it applies only to searches that trigger the tailored search). A similar mechanism can be used to give the search experience editor's user control over any aspect of the presentation of a navigation area and the navigation aids therein.
Example navigation aids (e.g., 1261, 1262, 1263, 1271, 1272, 1273) are shown in
Selecting an add item control 1265 initiates an Add Navigation Aid interface such as the interface 1820 shown in
When a navigation aid is added, a search experience modification record is created for the new navigation aid, typically separate from the search experience modification record for the particular tailored search. Each search experience modification record typically has a unique identifier, and the identifier of the navigation aid's search experience modification record is recorded in the search experience modification record for the particular tailored search. When the particular tailored search fires in the end-user interface, this identifier can be used to fetch the search experience modification record for the navigation aid, thus the information recorded therein is available when the results for the tailored search are rendered for the end-user.
A name for the navigation aid is typically specifiable, such as by using field 1822 and is written to the navigation aid's search experience modification record; this is the display name that appears as a link on the screen when the tailored search has been triggered and the navigation aid is displayed. (Note that a particular navigation aid associated with a tailored search may or may not be displayed for a particular user query that triggers the search. The system may limit the number of navigation aids that are displayed, and it may use various criteria to determine which navigation aids will be most useful to the end-user.)
A query is typically specifiable, such as by using field 1823. The query is recorded in the navigation aid's search experience modification record. When the navigation aid is shown in the end-user interface and a user selects it, this query is read from the search experience modification record and is run; the results are shown in the end-user interface Thus, this query defines the search that is performed when the user selects the navigation aid. In an example, a navigation aid has multiple queries, which are run as a disjunction. In an example, interface 18B has an Add query control that allows the search experience editor user to add additional queries to the navigation aid, all of which are recorded in the navigation aid's search experience modification record.
In an example, the query (or set of queries) is run on its own, without regard to the previous search (which was responsible for the navigation aid appearing on the screen). In another example, the query (or disjoined set of queries) is appended to or otherwise combined with the previous search, constructing a specialization of that search, in order to take into account the context in which the user selected the navigation aid.
In another example, the decision as to whether the navigation aid query is run on its own or is used to specialize the previous search is made by the search experience editor user for each added navigation aid. If the radio button 1824 labeled “New Search” is selected, an attribute in the navigation aid's search experience modification record is given the value “new search”, while if the radio button 1825 labeled “Search Within” is selected, the attribute is given the value “search within”. When the navigation aid is selected by an end-user in the end-user interface, the attribute in its search experience modification record is consulted and used to control which kind of search is performed.
In an example, an added navigation aid is available only in the search experience to which it has been added. In another example, an added navigation aid is available in every search experience; it is added to the underlying knowledge representation. In an example, added navigation aids are added to the underlying knowledge representation and are available in any search experience that displays the navigation area to which the navigation aid was added. In an example, the search experience editor user chooses whether the navigation aid is added to the current search experience or to the underlying knowledge representation. Radio buttons 1826 and 1827 can be used for that purpose.
In an example, the “Create” button 1828 saves the navigation aid and returns the search experience editor user to the search experience to which the navigation aid was added, while the “Create & Edit” button 1829 saves the navigation aid and creates a new tab in the search experience editor in which the navigation aid's results can be tailored, taking the search experience editor user to the new tab.
Optionally a parenthetical number is shown in correspondence with the navigation aid 1271, displaying the number of resources associated with the particular navigation aid.
In these examples, the navigation aid's display name will typically be shown in the end-user interface when this search experience is triggered. In that circumstance, the navigation aid's search query is run when the choice is selected by an end-user in the end-user interface. The items returned by the navigation aid's search will typically be modified, such as according to the navigation aid's search experience modification record.
In an example, additional interfaces are accessible when a search experience editor's user selects a navigation aid (e.g., hovers a pointer over a navigation aid or right clicks on a navigation aid). In an example, hovering or right-clicking causes a menu to appear, which may contain rename, merge, move, delete, preview, edit properties, and edit search operations.
Recall that what the search experience editor displays when it shows a tailored search are the search results for that search, including any tailoring of those results that has previously been done in the editor. In an example, multiple tailored searches are displayed, such as with each in its own tab in the search experience editor administrative interface. The search results for any of these may include navigation aids. In an example, when the administrative user selects a navigation aid in the administrative search experience editor interface, the search results for the navigation aid—the same results that the end-user would see if the end-user selected the navigation aid—are shown in the administrative search experience editor interface. In an example, these search results replace the results of the previous search in the administrative search experience editor interface, as described in step 160 of
In another example, a navigation aid display name may be constructed without associating a search query with the navigation aid, but instead by directly associating a set of one or more result items with the navigation aid. These result items are recorded in the navigation aid's search experience modification record when they are associated with the navigation aid, and are looked up and rendered on the screen when the navigation aid is selected by an end-user in the end-user interface. In an example, the items are associated with the navigation aid using the search experience editor controls.
In an example, a search experience may also (or instead) be used as a navigation aid. Referring now to
In an example, a navigation aid constructed in the administrative interface may be displayed outside of the search experience in which it was created. In an example, the navigation aid may be associated with each search result that would be displayed when the navigation aid is selected in such a way that by inspecting the search result, the navigation aid may be identified. When some (arbitrary) search in the end-user interface returns one or more of these search results, the navigation aid is identified and may be displayed in the end-user interface. When the user selects the navigation aid, its results are first modified by its search experience modification record, if it has one, and then are displayed in the end-user interface.
The value of this capability is that many searches may be improved as a by-product of explicitly constructing a single search experience (to improve a single search). The navigation aid helps to direct the end-user to a coherent subset of the results. This navigation aid is constructed in the process of improving some search. But other searches that return some of the same resources will display this navigation aid (in accordance with the example), and so the users that entered any of those searches may be directed to this subset of the results. When many such navigation aids have been constructed, a search may cause a number of navigation aids to be displayed (those that are associated with results in the current result set), and these navigation aids act as a kind of index to the results of the original search (which may have a great many results, typically too many to review them all). It may be useful to limit the number of navigation aids that are displayed, in which case it is sometimes worthwhile to rank them and display the best ones.
We have seen that navigation aids may be much like tailored searches, in that their results may be tailored. Like tailored searches, they can have names and search queries. They typically do not have trigger queries, because they appear as navigation links on the screen and are triggered when the end-user clicks on them. By contrast, a tailored search is typically triggered by matching a user query or accompanying session context. But, in an example, a navigation aid may be converted into a tailored search by giving it a trigger query. In an example, when a navigation aid is converted into a tailored search, the search query is used as the trigger query. In another example, when a navigation aid is converted into a tailored search, a distinct trigger query is specified. Likewise, a tailored search may be used as a navigation choice (in addition to being triggered by user queries). Returning to
A specialized transaction interface is typically realized as a widget or pagelet—a unit that occupies a portion of the screen and provides a particular behavior, designed to be a part of a different interface and designed to communicate with that interface; to take inputs from the interface it is within, and to render its contents in that interface. Such a widget or pagelet could provide a specialized transaction to the interface user, such as a stock quote or the ability to purchase tickets for sporting events. It is called a specialized transaction interface because it typically runs some process outside of the system, performing some interaction with one or more external systems (such an interaction can be referred to as the transaction), and it is designed to perform a particular transaction—it is specialized.
In an example, a search experience editor provides the capability to add a specialized transaction interface to the end-user interface for a tailored search, such as by adding the specialized transaction interface to the administrative search experience editor interface for that tailored search (thus providing a WYSIWYG interface for this aspect of the search results). In this process, the search experience editor user may specify a set of one or more parameters for the specialized transaction interface. In an example, one or more values (such as the query string) are automatically provided as one or more parameters to the specialized transaction interface.
When a specialized transaction interface is added to the set of items in the administrative interface for a particular search experience, an identifier for the specialized transaction interface, along with any parameters specified for it and optionally its location in the interface, are typically recorded in the search experience modification record. When the tailored search is triggered, the specialized transaction interface is rendered in the end-user interface. In an example, the specified one or more parameters are passed to the specialized transaction interface, the transaction is run, and the results of the transaction are rendered (e.g., by the specialized transaction interface) in the end-user interface, automatically as part of the search results for the tailored search.
With this mechanism one could provide, for example, a photo gallery as part of the search results. The specialized transaction interface would be a widget that takes a query, does a search for images on the internet (e.g., by calling Google's image search on that query), and returns a set of thumbnails of those images. The search experience editor user could add this widget to the administrative interface and specify that it be given the end-user's query string as a parameter. When the tailored search is triggered, the end-user query would be passed to the widget, which would run the search, and find the thumbnails; the widget would be displayed in the end-user interface, and it would render the thumbnails in the portion of the screen reserved to it. In a similar example, rather than the end-user query being passed to the widget, any selected products could be passed to the widget, and images of the products would be displayed in the end-user interface. Optionally, rather than searching the internet for the product images, a local product image database could be searched, allowing the enterprise great control over the images that are displayed.
In another example, the transaction provided by the specialized transaction interface is not run when the specialized transaction interface is rendered in the end-user interface. Rather, the specialized transaction interface is triggered by an action from the user to run the transaction and show its results. To use the same illustrative example, the photo gallery widget, rather than displaying thumbnails, might display a button labeled “Photo Search”. When the user selects the button, the specialized transaction interface runs the transaction to search for and display the photos. In an example, the user can provide one or more further parameters to a specialized transaction interface. An illustrative example of this is if the specialized transaction interface is a stock quote lookup widget, in which case the user may enter a stock symbol, or if the specialized transaction interface is a mortgage rate calculator, in which case the user may enter the size of the loan.
In an example, the search experience editor user can specify whether the specialized transaction interface automatically runs the transaction or waits for end-user input to run it.
In an example, in the administrative search experience editor interface the parameters are passed to the specialized transaction interface, the transaction is run, and the results of the transaction are displayed in the administrative search experience editor interface where they can be modified, and the modifications are recorded in the search experience modification record. In another example, the specialized transaction interface has its own search experience modification record, and such modifications are recorded in the specialized transaction interface's search experience modification record. In an example, the modifications apply to any search to which the specialized transaction interface has been added; those modifications become part of the underlying knowledge representation.
When the tailored search is triggered in the end-user interface, the specialized transaction interface identifiers that are recorded in the tailored search's search experience modification record are looked up, and each identified specialized transaction interface is displayed in the end-user interface. The specified parameters for each specialized transaction interface are likewise looked up, and passed to the appropriate specialized transaction interface to be used when it runs its transaction (whether automatically or upon user input).
Specialized transaction interfaces can be built for nearly any kind of transaction. The present systems and methods can use any specialized transaction interfaces to which it can provide appropriate inputs and display the outputs.
In an example, the display or use of a specialized transaction interface is conditioned on recognizing that the search context provides appropriate input for the specialized transaction interface. As an illustrative example, if a query contains a stock symbol, the stock symbol can be passed from the query to a stock quote widget, the transaction can be automatically run, and the stock price can be displayed in the end-user interface. An example of the steps typically involved are as follows
In the search experience editor
In the end-user interface
There can be any number of specialized transaction interfaces available to be used in a tailored search. The search experience editor and end-user interface could have little support or a great deal of support for specialized transaction interfaces. In an example (at the “little support” end of the spectrum), the search experience editor allows its user to write a program and store it in the search experience modification record. When the tailored search is triggered, the program is run. The steps described above are typically encoded into the program by the user; in certain examples, the search experience editor supports just the one activity (writing the program) and the end-user interface supports just the one function (running the program). In this example, the search experience editor need not know anything about any of the specialized transaction interfaces. In another example (at the “great deal of support” end of the spectrum), the search experience editor has a palette of icons, such as one per available specialized transaction interfaces. The administrative user can select an icon representing a specialized transaction interface, drag it to a desired location in the administrative search experience editor interface and place it there. Each specialized transaction interface represented in the palette typically has a pre-specified set of parameters, including a mapping from the typical inputs of the end-user interface (the user's query, any other search parameters selected by the user, such as a product selection or result type limitation, any user preferences, any session context or other information about the user, etc.) to specialized transaction interface parameters. Each specialized transaction interface represented in the palette typically has a pre-specified condition and a pre-specified (and pre-coded) mechanism for evaluating the condition. Each specialized transaction interface represented in the palette typically has an attribute specifying whether the transaction is to be run automatically or upon user input. For a specialized transaction interface that takes additional input(s) from an end-user before running the transaction, the search experience editor typically has a pre-specified description of the type of input(s). A code for each specialized transaction interface represented in the palette is typically stored in a standard location known to the end-user interface and each specialized transaction interface has a unique identifier. The parameters and mappings, the conditions and mechanisms for evaluating them are likewise typically stored in a standard location and can be referenced with the identifier of their accompanying specialized transaction interface. When a specialized transaction interface is dropped into a tailored search, only its identifier and its specified location in the end-user interface are typically recorded in the search experience modification record. This is sufficient for the end-user interface to use the specialized transaction interface. The end-user interface typically has a generic condition evaluator that takes the condition to be evaluated and the mechanism to evaluate it as parameters, calls the mechanism, and returns the result of the evaluation. It has code that, if the condition is true, runs a specified transaction and renders the results on the screen (either automatically or upon receiving user input, in accordance with the value of a passed-in attribute). When the tailored search is triggered, the identifier is recovered, the specialized transaction interface along with its parameters, mappings, conditions, condition evaluation mechanisms, and attributes are retrieved. These are plugged into the end-user interface code described above and the specialized transaction interface is used. Finally, there is a registration mechanism that allows the search experience editor user to add a specialized transaction interface to its palette, such as by providing all of the parts (the specialized transaction interface—e.g., the widget itself—along with its parameters, mappings, conditions, condition evaluation mechanisms, and attributes). This registration mechanism stores these parts and associates an identifier with them, enabling the use of the new specialized transaction interface in both the search experience editor and the end-user interface.
We have been saying things like “when the tailored search fires” or “when the tailored search is triggered”. In this section we'll go into detail about certain examples of how that happens.
We previously stated that when a query entered in the end-user interface is recognized as being sufficiently similar to the trigger query, the tailored search is triggered. The trigger matcher is typically the component that determines whether the user-query is sufficiently similar to the trigger query. In an example, the user-query is sufficiently similar to the trigger query when they are identical. In another example, the user-query is sufficiently similar to the trigger query when normalized versions of them are identical. Normalization converts a query to a canonical form, and can include lower-casing the query, stemming the query, and performing synonym substitution on the query—when any term in a synonym group is found in the query, substituting the synonym group's canonical form (or the synonym group's identifier) for the original term.
In another example, the user query is sufficiently similar to the trigger query when the user query contains the trigger query (and possibly contains other text as well). In another example, the user-query is sufficiently similar to the trigger query when the trigger query contains the user query (and possibly contains other text as well).
In another example, the search experience editor's user specifies, such as search experience by search experience, whether the matching process requires the user query and trigger query to match completely with no “leftover” text in either one, or to match based on containment. In
In another example, the user query is sufficiently similar to the trigger query when the canonical form of the user query contains the canonical form of the trigger query.
In another example, the user query is sufficiently similar to the trigger query when the canonical form of the trigger query contains the canonical form of the user query.
In another example, the user query is sufficiently similar to the trigger query when the canonical form of some word, term or phrase in the user query contains the canonical form of some word, term or phrase in the trigger query.
In another example, the tailored search may have multiple trigger queries, and the tailored search is triggered when the user query is sufficiently similar to any of the trigger queries. In an example, the Query pane 1210 of
In another example, the tailored search may have multiple trigger queries, and the tailored search is triggered when the user query is sufficiently similar to any of the trigger queries.
In another example, triggering a tailored search takes into account not only the user query string but also other parameters of the search or session context. A tailored search might fire only when the user has selected a particular product, or only when the user is in a specific segment of users.
In an example, check boxes (1430, 1435) are provided for selecting one or more environments to which the tailored search is applicable. Check box 1430 denotes a Self-Service application, which is accessible to users from as a web site. A query entered from the Self-Service site will trigger a tailored search only if the Self-Service box 1430 was checked when the tailored search was constructed; similarly for any application or environment listed in the Applies-To area. Items from this area of the interface are recorded in an Applies-To list in the search experience modification record. The application or environment into which the query was entered is part of the input to the trigger matcher, and the trigger matcher compares it with Applies-To list in the search experience modification record for a tailored search; that tailored search will fire only if the application or environment is on the list, in this example.
In an example, drop-down menu 1425 is supplied for selecting one or more languages. The languages are stored in a Languages list in the search experience modification record. The language in which the query was entered is part of the input to the trigger matcher, and the trigger matcher compares it with the Languages list in the search experience modification record for a tailored search; that tailored search will fire only if the input language is on the list, in this example.
Other possible session context elements can be specified as part of the scope of a tailored search experience. Session context elements are elements of the end-user search session. For example, an end-user might select a product from a pulldown in the end-user interface in order to constrain the results to resources related to that product, or the end-user might have entered the site from an entry point that is particular to a product, so the site would add information identifying the product to the session context interface in order to constrain the results to resources related to that product. An example interface for selecting session context elements is presented in
The trigger matcher processes every incoming query (along with its session context) and for each query, compares the query string and session context with the information recorded in the search experience modification records for each tailored search to see whether they correspond. There may be a high volume of queries, and there may be a large number of tailored searches. Therefore, a subscription engine is useful for implementing the trigger matcher. Subscription engines are architected for rapid comparisons in the presence of high traffic volume (here corresponding to query traffic) and large numbers of subscriptions (here corresponding to tailored searches).
The rules for matching end-user queries to tailored search triggers can result in more than one match. In an example, a single tailored search is selected from the set of matching tailored searches and is run. In an example the tailored searches are ranked, such as by the quality of the match to their triggers, and the top-ranking one is selected. In an example, a trigger that matches more of the query ranks higher than a trigger that matches less of the query. (This means that the more specific trigger will be selected.) If two triggers have equal rank and are the top-ranked query, one of them may be selected arbitrarily. In another example, the matching tailored searches are merged, and the merged tailored search is run. Merging tailored searches typically involves merging the various lists in the search modification records of each tailored search; for example, the lists of deleted search results in the search experience modification records are combined into a single list.
In a system with many tailored searches, particularly if they can be made by different people, redundant tailored searches could be made. Support may be provided to help the search experience editor user avoid creating redundant tailored searches.
The Search Performed in the Search Experience Editor
As stated previously, the search experience editor displays search results for a tailored search. It typically gets the results that it displays in the same way that the end-user interface does, by sending a search to the search system and receiving the results of the search from it. In an example, the search that the search experience editor sends to the search system comprises the trigger query and the search scope (application, language, product, . . . , in fact, any metadata selected to specify the scope). In an example, if the search has more than one trigger query, one of the trigger queries is identified as primary, and that one is used as the search query (that is the one that is send to the search system). In another example, if the search has more than one trigger query, all of the trigger queries are joined in a disjunction to form a new query which is used as the search query.
In another example the trigger query and the search query are independent, and possibly distinct (e.g., to allow a particular end-user query to be mapped to a possibly very different tailored search query). The search query is independently specified by the search experience editor user. Both are written to the search experience modification record. The trigger query is considered by the trigger matcher while the search query is used by the search system to select the search results. In an example, the trigger query and the search query are separately displayed in the Query pane. In an example, there may be multiple search queries (all of which are typically recorded in the search experience modification record). In an example, there is an Add control that allows the search experience editor user to add search queries.
In an example, the tailoring mechanisms, that is, the consulting of the search experience modification record and modifications of results, are implemented within the underlying search system. Each modification is performed at the most convenient point, typically when the result of the kind being modified is generated. For example, when the list of result documents is generated by the underlying search system, any documents listed as suppressed by the search experience modification record for the triggered tailored search are removed from the list. In this example, the search experience editor and the end-user interface call the underlying search system and use its results with no need for an intermediary.
In another example, the tailoring mechanisms are implemented in a separate tailoring component distinct from the underlying search system. In this example, this tailoring component can be used with any underlying search system. In an example, the search experience editor and the end-user interface call the underlying search system and receive results from it, then call the tailoring component, passing it those first results and receiving final results from it. In another example, the search experience editor and the end-user interface call the tailoring component, which calls the underlying search system and receives results from it. Then, the tailoring component modifies the results and returns them to the caller.
The Query Match pane 1250 lists queries that will trigger the tailored search when any of these queries are entered in the end-user interface. Recall that the queries that trigger the tailored search are not only those that are identical to the trigger query but also those that generalize it (in ways described above). The Query Match pane 1250 allows the search experience editor user to see which queries are affected by the modifications, which is helpful to the search experience editor user's ability to provide a good search experience for the end-users.
The queries 1251, 1252, etc. shown in the Query Match pane 1250 can come from any source. In an example, the queries shown in the Query Match pane 1250 are selected from the search system's query logs, that is, they are queries that have been entered in the past by users of the system. In an example, the queries come from a list of queries that is supplied for the purpose of populating the Query Match pane appropriately. This list might come from another search system (for example, if an enterprise changes from some search system to one that uses the present systems or methods), from other divisions of the enterprise or other enterprises, from academic or government studies, or it might be comprised of examples that experts believe are (or will be) important or frequent.
In certain examples, the entire set of queries from whichever source is used (which may be all the queries that have ever been entered into the search system) are run through the trigger matcher (the subscription engine), and those queries that match the trigger for the current tailored search are shown in the Query Match pane. Thus, in this example, the same trigger matcher that is used to match queries to tailored searches in the end-user interface can be used to match queries for the Query Match pane. It follows, then, that the queries shown in the Query Match pane have whatever relationship to the tailored search's trigger that the end-user queries have, and this relationship may vary in ways we discussed above. It follows also that any of the queries, such as 1251, 1252, 1253, shown in the Query Match pane will trigger the tailored search if they are entered in the end-user interface. The less direct the relationship between queries and the trigger, the more important it is that the search experience editor user be able to see which queries will be affected by the tailored search.
The count column 1255 identifies the number of times a particular query has been entered by some end-user. For example, the third item 1253 (“how to delete a buddy list”) has been searched 987 times.
In addition to letting the search experience editor user see the matching queries, the query pane 1250 allows the search experience editor user to control which queries will trigger the tailored search by selectively associating a particular query with the tailored search, or dissociating a particular query from the tailored search. An Add control 1256 allows the search experience editor user to add queries to this pane. In an example, this control brings up a text box into which a query can be entered; the entered query is added to the queries in the query pane (it may be visually distinguished as having been added manually) and is associated with the tailored search. Such an added query, when entered into the end-user search interface, will trigger the tailored search whether or not it otherwise would have matched the trigger for the tailored search. The added query is written to a list of associated queries in the search experience modification record, which is consulted by the trigger matcher. If the added query is entered in the end-user interface, the trigger matcher matches it against this list and proclaims a match.
Similarly, a Delete control such as 1257 allows the search experience editor user to remove queries from this pane and disassociate them from the tailored search experience. A deleted query, when entered into the end-user search interface, will not trigger the tailored search whether or not it otherwise would have matched the trigger for the tailored search. The deleted query is written to a list of disassociated queries in the search experience modification record, which is consulted by the trigger matcher. If the deleted query is entered in the end-user interface, the trigger matcher matches it against this list and (regardless of any other characteristics) does not proclaim it a match.
Illustratively, selecting the Delete control 1257 for the “how to save my buddy list” item 1252 dissociates the item 1252 from the present search (Buddy List). In an example, selecting the Delete control 1257 also removes the item 1252 from the Query Match pane 1250. In an example, selecting the Delete control 1257 does not remove the item 1252 from the Query Match pane 1252, but rather modifies its presentation to make it clear that it has been removed, such as by graying it out, or displaying it with strike-through, or by moving it to a region of the pane labeled as showing deleted queries. In an example, an interface is available to re-associate previously disassociated queries with the search experience. In an example, the “Deleted Items” control 1254 brings up a list of deleted query items and selecting an item from the list re-associates the selected query item with the search experience. In another example, in which the deleted query items are visible in the Query Match pane 1250 (grayed out or struck though, perhaps), a “restore” control for each deleted query item (for example, the add icon used elsewhere in various figures) is present in the Query Match pane, corresponding to the Delete control for the non-deleted query items such as 1251, 1252, etc.
In an example, a control is provided to cause information about a selected query to be displayed. In an example, each query item has a control for this purpose. In an example, such a control would use the same icon as control 1215 in the query pane 1210 and would perform the same action, bringing up the interface shown in
Recall that the search performed by the search experience editor for a tailored search may comprise the trigger query or may be independently specified. Recall as well that a query that triggers the tailored search may be identical to the trigger query or may differ from it, such as in ways specified above. The question arises, what search is done in the end-user interface? In an example, the query that is searched on in the end-user interface is the tailored search's search query, and any differences between that and the query entered by the end-user are ignored—the end-user's query is replaced by the tailored search's search query. In another example, the query that is searched on in the end-user interface is the query entered by the end-user, and any differences between that and that tailored search's search query are ignored. In another example, the query entered by the end-user and the tailored search's search query are combined, and it is the combined query that is searched on in the end-user interface.
In this example, referring now to
The trigger query for a particular tailored search can be different than the user query provided by the user, such that an end-user query entered in an end-user interface that triggers a particular tailored search experience may actually use a different trigger query for the resulting tailored search experience. This means that the search performed in the end-user interface when a tailored search is triggered may not be the search that is performed in the search experience editor for that tailored search. Hence the results shown n the end-user interface may not be the results shown in the search experience editor. This may be problematic for the search experience editor user, who is trying to craft the results for all users that enter matching queries. To address this issue, in certain examples, a preview mechanism is supplied in the search experience editor. The search experience editor user can select a query from the Query Match pane and see (in the administrative search experience editor interface) the results of that executed query. In an example, this preview operation is available through a menu item in the right-click menu for a query item in the Query Match pane. In another example, a “preview” control is provided for each query item in the Query Match pane. In an example, the preview is shown in a separate interface reflective of the end-user interface (e.g., a pop-up that looks like what the end-user would see, having entered the relevant query, would appear). In another example, the preview is shown in a new tab in the search experience editor, In the example, all of the controls are available for crafting the results of the previewed query. The modifications made in this tab are recorded in the same search experience modification record as the original tailored search (the new tab does not have its own search experience modification record because it does not represent a separate tailored search). In another example, the preview replaces the view shown in the current tab. In an example, a “back” button is provided to return to the previous view. In this way that search experience editor user can generalize the modifications they are providing so that they cover not only the original search but also the other searches that will trigger that particular tailored search experience.
Much of the previous description has focused on tailoring the results that appear in the search interface, with discussion of control over the layout of the interface, including discussion of adding elements (e.g., featured results panes and specialized transaction interfaces). Here we describe methods for tailoring search results interfaces (which may vary from search to search), from the page layout to the kinds of searches that are done, returning finally to tailoring the results themselves.
The search experience editor includes a list of search templates. Each search template is associated with a particular search experience (also referred to as a tailored search), and the search experience modification record that goes with a tailored search experience therefore also goes with the template that's associated with the search experience. The search experience modification record typically contains information specifically for handling templates; it typically has a list of widgets, their positions on the page (possibly in terms of pre-identified locations, such as the fixed positions shown in the template 2410), and their arguments. In this example, the search experience modification record for the template 2410 lists only the web search widget 2423. It lists the argument to the widget as the search query 2401, which is empty at this point.
A fixed template is not required. Rather than dropping a fixed number of widgets from the palette into fixed positions on the page, the layout could be free-form, with an arbitrary number of widgets dropped into arbitrary positions on the page, and the editing interface could support moving and sizing the widgets. Various page-layout capabilities are possible. For expository and illustrative purposes, the figures are shown using a fixed template.
In the example of
For simplicity of exposition we described this step with a widget that takes a simple argument. The argument specification step could be more complex. For example, consider a query that mentioned a stock ticker symbol. Suppose the search experience editor's user had placed a stock report widget on the page. The ticker symbol from the query would be an argument, specified in the manner described above. But other arguments might be used as well. If the widget had the capability of showing the stock movement over time, the time period might be an argument. In this instance, the time period does not depend on the query; in an example, the search experience editor would display an interface for specifying the time period and search experience editor user would use that interface to specify the time period; this could be part of adding the widget to the search template just as specifying a textual argument from the query is. A widget can have multiple arguments. It can have arguments specified from the search query and arguments specified by the search experience editor directly. It can have arguments that are looked up from an external source; the search experience editor user specifies how to do the lookup. In an example, a search widget such as an insurance rate calculator might be sensitive to the state in which the prospective policy holder lives. If the user is registered or the search system knows the user's address, the search experience editor user might specify that the argument use the address element of the session context. In another example, returning to the stock report widget, if the search query contains a company name (not a ticker symbol), the search experience editor user might specify that the company name be passed to a ticker-symbol lookup function and the output of the function be sent in as the argument to the stock report widget. In these examples, the sources of the arguments to a widget are recorded in the search experience modification record along with information identifying the widget.
In an example, the case in which a widget argument 2727 comes from the search query 2701 is generally handled with a reference to the relevant part of the search query 2717, rather than a copy of that part of the query. For example, the starting and ending character positions, or any other method of identifying the relevant part of the query, may be used. The earlier discussion of trigger queries versus search queries, and combining the user query and the trigger or search query, suggest reasons for using reference rather than copying.
The Folksonomy pane 3103 supports the ability to abstract one or more portions the query for re-use, such that the tailored search created for a particular query can also be used for other like queries. The Folksonomy pane 3103 contains categories or abstractions 3181, 3182, 3183, etc. A “folksonomy” is a collaboratively generated, open-ended labeling system that enables Internet users to categorize content, and here we apply it to categorizing queries or portions of queries. However, note that any categorization/abstraction scheme could be used in the place of a folksonomy.
In
We see in
The replacement of the query text with the abstraction is stored in the search experience modification record. While for simplicity of exposition
When describing previously how arguments to the widgets are represented, we mentioned that they refer to the portion of the search query that is (one of) their argument(s), rather than being given a copy of the search query text. One reason for this is that when the search query gets abstracted, the widget arguments should also get abstracted. Consider the photo gallery widget. It is passed the string “Bob Dylan”, on which it does an image search. Subsequently the string “Bob Dylan” in the search query 3301 is abstracted to “<musician>” 3317. When the search template trigger is matched in the end-user interface, any (recognized) musician's name will match “<musician>”, and it is desired that the actual musician's name be passed to the photo gallery widget. Therefore the representation of the argument to the widget in the search experience modification record is sensitive to the abstraction operation. By referring to the portion of the search query 3301, rather than being given a local copy of that portion, after the abstraction takes place, the widget argument refers to “<musician>”. In the end-user interface, the queries go to the trigger matcher. The trigger matcher matches query terms against the abstractions. The trigger matcher typically is provided with one or more lexical resources that it uses to do this matching. In the running example we are using, the trigger matcher uses a list of musician names. If it encounters a listed musician name in a query, it identifies the name on the list as a match for the <musician> abstraction and instantiates the name as the value for the abstraction in the search experience modification record's search query. The value of the abstraction in the search experience modification record's search query is passed as the argument to any widget that referred to the abstraction as its argument. (The discussion above assumes that the search query and the trigger query are the same. It is possible to extend the behavior to the case in which the search query and the trigger query are distinct; a mapping between abstractions in the trigger query and corresponding abstractions in the search query are maintained so that the particular values for a recognized abstraction in the trigger query can be instantiated as values for the corresponding abstraction in the search query.)
In an example, the list of categories (or abstractions or tags, all names for the same thing) in the Folksonomy pane is extensible. In an example, any search experience editor user can add categories to the Folksonomy pane. In another example, only administrative users granted permission can add categories to the Folksonomy pane.
Also, in the example of
We have drawn a distinction between the search experience editor user and the end-user. As described above, the use of the search experience editor may be restricted. One usage model has a small number of employees of an enterprise that provides search using the search experience editor to craft search experiences that will be used by a large number of end-users. This model would be valuable for enterprise search, in which the enterprise benefits when users find what they're looking for on the first try, and for Internet search in the case where a search provider such as Yahoo or Google or Ask.com can attract more users to their site by making the search experience better.
However, as exemplified by
The results page 3900 provides a rich search experience, like the musician pages shown earlier. This demonstrates the wide applicability of the search experience editor technology; it is not limited to searches in particular subject areas or searches over particular content repositories.
The search template builder figures have not focused on the same capabilities that the earlier search experience editor figures (such as
The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention, including computer-assisted methods, computer-implemented systems for performing such methods, and computer readable media for specifying instructions for performing such computer-assisted methods. Since many embodiments of the invention can be made without departing from the scope of the invention, the invention resides in the claims hereinafter appended.
This application is a continuation of U.S. Application No. 11/379,795, filed Apr. 23, 2006, which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 11379795 | Apr 2006 | US |
Child | 11462557 | US |