Selectively searching restricted documents

A first subset of attributes of documents responsive to at least one restriction may be displayed. Thereafter, a selection of a graphical user interface element associated with one of the attribute in the first subset may be received resulting in a display of a window comprising an alphanumeric input element. A key word search query may be received in the input element so that a second subset of attributes of documents responsive to the at least one restriction, the attribute associated with the selected graphical user interface element, and the key word search query may be displayed. Related methods, apparatuses, computer program products, and computer systems are also described.

TECHNICAL FIELD

The subject matter described herein relates to a selective searching of a plurality of documents responsive to one or more restrictions.

BACKGROUND

Search queries are continually being generated and executed in relation to expanding numbers of documents and other data sources. However, difficulties arise when large numbers of matching documents are presented in response to a query. In particular, it is often difficult to categorize and traverse various groups of responsive documents in an efficient and user-friendly fashion.

SUMMARY

In one aspect, a first subset of attributes of documents responsive to at least one restriction may be displayed. Thereafter, a selection of a graphical user interface element associated with one of the attribute in the first subset may received. After this selection, a window comprising an alphanumeric input element may be displayed so that a key word search query may be received in the input element. In response to this key word search query, a second subset of attributes of documents responsive to the at least one restriction, the attribute associated with the selected graphical user interface element, and the key word search query may be displayed.

In some variations, the at least one restriction and the attribute associated with a selected graphical user interface element may be displayed in a breadcrumb. The breadcrumb and/or the displayed attributes may also include a numerical indication of a number of associated documents so that a user may, if desired, navigate into areas where there are more responsive documents. The restrictions may be based on key word search queries and/or based on navigation through a virtual taxonomy of the documents. Furthermore, in some variations, information characterizing at least a portion of the documents responsive to the at least one restriction, the attribute associated with the selected graphical user interface element, and the key word search query may be displayed (e.g., title of documents, passages containing restriction and/or query, etc.).

The attributes may, in some implementations, be pairwise disjoint so that each document is only associated with a single attribute. Additionally or in the alternative, the displayed attributes (e.g., integer attributes, alphanumeric attributes, etc.) may be each associated with a substantially identical number of documents and/or separated by a pre-determined fixed interval. Moreover, only those attributes having greater than or equal to a pre-determined number of associated documents may be displayed.

Access to documents may also be based on permission levels associated with the user. In such arrangements, only those documents to which a user has permission to access may be considered and/or displayed in determining the attributes of responsive documents.

In an interrelated aspect, a first subset of attributes of documents responsive to at least one restriction. A selection of a graphical user interface element associated with one of the attribute in the first subset may be received. In response to this selection, a second subset of attributes of documents responsive to the at least one restriction query and the attribute associated with the selected graphical user interface element may be displayed according to a pre-determined prioritization ranking. This pre-determined ranking may be based on factors such as number of responsive documents containing the displayed attributes, most recently accessed documents containing the displayed attributes, most frequently accessed documents containing the displayed attributes, alphabetical order, and the like.

In yet another interrelated aspect, a first subset of attributes of documents responsive to at least one restriction may be displayed. Thereafter, a selection of a graphical user interface element associated with one of the attribute in the first subset may be received. This selection may result in the display of a second subset of attributes of documents responsive to the at least one restriction query and the attribute associated with the selected graphical user interface element, each attribute having a substantially equal number of documents associated therewith.

Computer program products, which may be embodied on computer readable-material, are also described. Such computer program products may include executable instructions that cause a computer system to conduct one or more of the method acts described herein.

Similarly, computer systems are also described that may include a processor and a memory coupled to the processor. The memory may encode one or more programs that cause the processor to perform one or more of the method acts described herein.

The subject matter described herein provides many advantages. The techniques for selectively displaying documents responsive to a search query as described herein prevent overly complex combinatorial arrangements of documents. Moreover, flexible navigation alternatives are provided thereby increasing usability when traversing a large number of documents responsive to a search query. Such improvements in navigation may be used for a wide variety of applications including internal enterprise portals and auction and other websites selling a large number of goods and services. In particular, the subject matter described herein allows for taxonomies to be computed on the fly during navigation so that documents may be categorized according to time intervals such as last week, last day, last seven hours, week before, from 10 to 5 days before, and the like.

DETAILED DESCRIPTION

FIG. 1is a process flow diagram illustrating a method100, at110, a first subset of attributes of documents responsive to at least one restriction is displayed. Subsequently, at120, a selection of a graphical user interface element associated with one of the attribute in the first subset is received. Upon the receipt of this selection, at130, a window comprising an alphanumeric input element is displayed. Thereafter, at140, a key word search query in the input element is received, and at150, a second subset of attributes of documents responsive to the at least one restriction, the attribute associated with the selected graphical user interface element, and the key word search query is displayed.

FIG. 2is a schematic diagram of an apparatus200comprising an input processor210, an engine220, and an output processor230. The apparatus200may be coupled to a plurality of clients250via a communications network. In addition, the apparatus200may optionally be coupled to or include a data repository260which stores documents responsive to a search query.

The input processor210may receive a restriction from one of the plurality of clients250via the communications network240. This search query/restriction may then be provided to the engine220which, via the output processor230, polls the data repository260to obtain responsive documents. The engine220, in some variations, may additionally poll the data repository260for one or more indexes which may be used to identify documents responsive to the restriction as well as any preceding and subsequent restrictions in the sequence. The engine220also constructs a breadcrumb and/or a virtual taxonomy for the identified responsive documents and generates data to be provided to the requesting client250so that the client250can in turn render a graphical representation of at least a portion of the breadcrumb and/or virtual taxonomy. Optionally, information characterizing documents associated with each restriction or category may be displayed.

FIG. 3illustrates a virtual taxonomy300(also referred to as a tree) relating to a set of documents relating to automobiles. Each document contains a property identifying an automobile manufacturer and a price of an automobile sold by the manufacturer and described in the document. The virtual taxonomy300includes a root node310, which may relate, for example, to automobiles. The root node310includes three child nodes320,330,340which correspond to the respective automobile manufacturers. On the following level, child nodes350,360,370of the manufacturer nodes320,330,340are arranged which relate to the pricing of the respective automobiles.

The virtual taxonomy300may be defined on the application programming interface (API) level via an XML file that specifies one or more indexes containing the documents as well as the properties used to structure the documents. For the example above only the properties “Company” and “Price” were defined. For “Company” it was specified that it should be used as the first listed attribute whereby all values of the documents in the index should be listed. For “Price” it was specified that it should be used as the second listed attribute whereby price ranges should be determined.

The structure of the taxonomy may be computed on the fly during navigating through the virtual taxonomy300. Therefore, the structure of the virtual taxonomy300is always adapted to a current document set. If, for example, documents of a further company are added to one of the identified indexes, these documents are immediately visible.

In some variations, the order of the taxonomy levels is pre-defined. For example,FIG. 4illustrates XML code400in which a fixed order taxonomy is defined. With this arrangement, a “VIR_DEFINITION” part may specify one or more of the following:a name of the taxonomy (e.g., “demo001”);a type of the taxonomy (e.g., “guidedNav” which refers to guided navigation);a maximum number of folder documents “maxNumberOfFolderDocs” to be displayed (i.e. if the number of documents under a taxonomy node is below that border, no subfolders but the documents itself are presented);a “docSeparationNumber” that requires a taxonomy to subdivide documents into subfolders of about the specified number of documents (this happens only for folders, where the documents should be presented, e.g. on the lowest level of a fixed order taxonomy. The documents are divided into the subfolders according to their display name which can be useful if there are folders with large numbers of documents residing therein);a number of levels for which the order in the taxonomy is predefined (for a fixed order VT this number should be according to the number of property and query levels (explained below), which defines the depth of the virtual taxonomy); anda separation folder name “separationFolderName”, which is only necessary if a “docSeparationNumber” is defined which provides a name to be used as a prefix for separation folders.

The next part of the XML code400is a list of indexes, which specifies the documents used in the virtual taxonomy. By including multiple indexes a single taxonomy containing documents from all of these indexes may be specified. Thereafter, the XML code400specifies the different levels (e.g., category levels) of the virtual taxonomies. The order of these definitions determines the order of the levels in the taxonomy. Every level may be either an attribute or query level.

An attribute level may use the tag “VIR_ATTR”. It may defines taxonomy level for a property using one or more of the following settings:namespace: Namespace of a modeled property;name: Name of the property;type: In the example there are two different values used for this attribute. “proposeRanges” specifies that ranges are determined for the property and subfolders are provided according to these ranges. “allValues” means, that a subfolder for each value is presented; anddisplayName: Used in the display name of the folders of that taxonomy level. The rest of the displayname is determined by the value or range defined by that folder. If displayName is not defined, the name of the property is used. In no name should be used in front of the values displayName=“ ” can be used.

A query level may be defined by a set of queries. Each query may define a subnode containing only those child nodes fulfilling the query. A query level may be specified via the tag “VIR_QUERY” with a name. Such a query level may contain a list of “VIR_QUERY_RID”s each specifying a node for that level via one or more of the following:a name which is used as the display name for the folder; anda RID which specifies a record identification for a node in a query based taxonomy with a query used as the query for that node.

FIG. 5illustrates a first level500of a taxonomy with a root node Taxonomies510and a plurality of categorized folders corresponding to child nodes of the root node including a folder (or other graphical user interface element) labeled Virtual Taxonomies520. If the Virtual Taxonomies folder520is activated, a new level600of the taxonomy as provided inFIG. 6may be displayed with a breadcrumb header610which identifies the root node of Taxonomies and the selected child node Virtual Taxonomies. This taxonomy level600displays at least a portion of categorized folders that are only child nodes to the Virtual Taxonomy node520including a demo001 folder620.

If the demo001 folder620is selected, a further level700of the taxonomy as illustrated inFIG. 7may be displayed. This taxonomy level700also includes a breadcrumb header710which additionally includes the demo001 folder node. The folders720displayed at this level of taxonomy700may be built by separating the documents with respect to an attribute such as the “last modified” date. For such an attribute, ranges may be determined as defined by “proposeRanges”. For date properties, the documents may be separated into any pre-defined granularities such as years, quarter, months, days, and the like. For other properties a start and end value may be provided. The “displayName” specified in the XML may be presented before the values. For every folder720, the number of documents below that folder (i.e., fulfilling the restrictions of the folder) may be presented. InFIG. 7, Modified: 2001 folder730indicates that 5919 documents were modified in the year 2001.

If the Modified: 2001 folder730is selected, a query level “Countries” a further level800of the taxonomy is presented as illustrated inFIG. 8. This level800includes a breadcrumb header810that includes all of the traversed levels with Taxonomies as the senior folder and Modified: 2001 as the junior folder. In this case, the illustrated queries are content queries using the terms “France”, “Germany” and “Spain” (however, it will be appreciated that any kind of query may be specified) which are illustrated in their respective folders820,830,840. The folder830with the label Spain shows that only 51 documents modified in 2001 contain the term “Spain”.

If the Spain folder830is selected, the next subsequent (and last) level900of the taxonomy is expanded as illustrated inFIG. 9(which also includes a modified breadcrumb header910). If any of the folders920within this level are selected, links to documents1020in such folder910are shown (as compared to another level of folders) as illustrated inFIG. 10(which also contains a revised breadcrumb header1010).

Returning to the level700illustrated inFIG. 7, if the Modified: 2000 folder740is selected, and if there are no documents fulfilling one of the queries on the next level, links1120to the corresponding documents are immediately presented as illustrated inFIG. 11(which includes a corresponding breadcrumb header1130). With this arrangement, because a “documentSeparationNumber” has been specified, the document links1120are automatically subdivided into separation folders. If you select one these folders1120, you will get the documents in it.

If the Modified: 2004 folder750is selected at level,700inFIG. 7is selected, links to the associated documents are immediately presented because their number is below a number specified in the “maxNumberOfFolderDocs” field.

In some variations, a full expansion virtual taxonomy may be utilized that does not define an order for the attribute and query levels in the taxonomy. With such an arrangement, each property or query may be selected to further navigate at any point in the taxonomy. The documents (e.g., links to documents) may presented when their number under a folder is below the value specified with “maxNumberOfFolderDocs”.

FIG. 12comprises XML code1200for a full expansion virtual taxonomy. In contrast to the XML code500illustrated inFIG. 5relating to a fixed order taxonomy, no “fixedOrderLevels” are defined. That means that the defined property and query levels have no defined order and can be chosen on every level. Therefore, on the first level of this taxonomy folders for all specified property and query levels are presented (as illustrated in level1300inFIG. 13).

With reference toFIG. 13, all of the defined queries and properties may be displayed in the folders1310. Navigation may advance into the “Topics” query level by selecting the Topics folder1320. Once selected, as illustrated in level1400inFIG. 14, folders1410for different query RIDs may be displayed. Selection of the Test folder1420causes a new level1500as illustrated inFIG. 15to be displayed with includes folders1510corresponding to the defined queries and properties.

In yet other variations, combinations of fixed order and fill expansions taxonomies may be utilized. For example, the “fixedOrderLevels” attribute may specify by its number n that the first n property and query level definitions are used in fixed order. The remaining property and query definitions are used as in a full expansion taxonomy. XML code1600to generate such a combination taxonomy is illustrated inFIG. 16.

FIG. 17illustrates a fixed order level1700that is defined by the query “size” in which the various folders1710are separated by intervals of 10,000 bytes. Navigating into the 10001 Byte-20,000 Byte folder1720will result in a full expansion level1800as illustrated inFIG. 18which illustrates folders1820for any remaining attributes and queries.

An execution plan1900as illustrated inFIG. 19may be utilized to define which attribute and query levels should be presented within a taxonomy. The execution plan1900may include a root node1910from which the various folder (category) nodes n1-n5may be traversed as indicated by the interconnecting arrows. Sample XML code2000for implementing such a taxonomy is illustrated inFIG. 20.

The XML code2000provides that to enable a plan execution, “guidedNavStrategy” is set to “usePlan”. A plan is defined by specifying a start node <VIR_START> with two successors. Each successor defines a node by its name. Every node is defined by its name and a level. The level x specifies the x-th defined attribute or query level starting with 0, e.g. node “n2” specifies the level 1, which means that is specifies the “Countries” query level.

A first level2100of a taxonomy implementing the execution plan1900ofFIG. 19is illustrated inFIG. 21. At this level, folders corresponding to the two successors of the start node1910, n1and n2are respectively presented as Countries folder2110and Modified folder2120. Selection of the Modified folder2120will result in an additional level2200being displayed (as illustrated inFIG. 22) which includes folders2210with different ranges for that attribute (namely years). Selection of one of these folders2210will result in an additional level2300being displayed (as illustrated inFIG. 23) in which the successors of node n1, nodes n2and n4, are respectively presented as a Countries folder2310and a Size folder2320. Selection of Countries folder2310permits the traversal to any of nodes n3-n5, and selection of Size folder2320permits the traversal to either of nodes n1and n4.

Variations may also be provided in which navigation through various folders of repositories that are used as data sources of the indexes which form the basis of the construction of a virtual taxonomy (with only folders fulfilling specified restrictions being presented). In addition, only folders and/or documents for which a user has access rights are shown. To implement this functionality, an entry “folderNameForIndexing” may be used and the corresponding type may be set to “useSeparator”. Furthermore, an entry “separator” may be set to “/”. XML code2400illustrating such properties is illustrated inFIG. 24with the display name “Folders”.

For example, after selecting “Folders” under the node “10001-20000 Byte”, as illustrated in the breadcrumb navigation2510of the level2500inFIG. 25, a first folder level of the repositories of the documents in the indexes is presented that only includes documents fulfilling the restriction defined by the query of the node “10001-20000 Byte”. If the cnn folder2520is selected, a new level2600as illustrated inFIG. 26will be presented that includes a series of folders2610which allows for the navigation for all alternatives as demo0031 is a full expansion taxonomy.

If the Folders folder2620inFIG. 26is selected, a second level2700as illustrated inFIG. 27is displayed which includes a breadcrumb navigations2710and folders2720on a second level below the cnn folder2520. It will be appreciated that a folder structure is only an example for dividing an attribute into a hierarchy. If would also be possible with other attributes with some separator, for example, Company-Project-Phase, which would be separated into three levels Company, Project and Phase, and the like.

Each node in the virtual taxonomy may be allow for a search to be executed within such node and its associated child nodes. For example, with reference toFIG. 28, a view2800is displayed in which a folder2810is activated by right clicking a mouse button which results in pop-up menu2820being displayed. Pop-up menu2820may include a menu item2830that causes one or more windows to be opened that allow for a search to be conducted from the selected node of the documents within that folder. Thereafter, only documents responsive the search query that fall under the selected node may be displayed (whether in a taxonomy or otherwise).

In addition, the pop-up menu2820may also include another menu item2840which, when activated, causes, all documents under a certain folder to be displayed. If a “docSeparationNumber” number is defined, the documents are subdivided into separation folders as explained above. Otherwise they are presented without separation folders.

For a specified attribute used in a virtual taxonomy, it may be specified that further navigation is only executed with respect to that attribute by setting noIntermediateFolder=“true”. Such an arrangement may be used for attributes that are not used in a fixed order part of a virtual taxonomy. With reference to the view2900inFIG. 29, such a feature is used for the folder attribute providing a folder navigation without disturbing intermediate folders (although it will be appreciated that this feature may be used for all kinds of attributes). Selection of the cnn folder2910will result in the view3000inFIG. 30which includes a plurality of folders3010which relate to the cnn category as well as a folder labelled Achim3020which was specified as forming part of the cnn category. Selection of a folder3030provides a view3100as illustrated inFIG. 31which includes a plurality of folders3110as well as a partial list of responsive documents3120within those folders3110.

In one alternative, the folder attribute may be used for navigating in the folder structure so that only the deepest folders (i.e., those folders farthest from a root node) are presented. With such a variation, any and all intermediate folders above without any documents therein are not shown. This arrangement can be defined by setting the “type” of the folder attribute on “useDeepestSeparator.” It will be appreciated that the folder structure is only one example for dividing an attribute into a hierarchy and that other attributes may be utilized.

It will also be appreciated that after navigating a particular restriction, the order and maximum number of restrictions that will be offered for the next navigation may be predefined or otherwise determined based on previous traversals by a user. With such a variation, the user is not overburdened with a plethora of options for further restriction.

Query level definitions may also be utilized so that a starting folder in a query based taxonomy may be specified. If such a specified query level is selected for further navigation, the navigation proceeds as if the user started at the specified folder with all previously selected restrictions in the virtual taxonomy path.

FIG. 32illustrates XML code3200for implementing such a “Walk In Taxonomy”. The XML code3200defines a query level “Walk in Taxonomy” where the entry “workInQBT” is set to “true”, which indicates that the specified RID is used as a starting point for a navigation in the query based taxonomy.

FIG. 33illustrates a view3300in which a path has already been selected as indicated by the breadcrumb navigation3310. If a Walk in Taxonomy folder3320is selected, further navigation may be performed done according to the structure of the defined query based taxonomy as illustrated in the view3400ofFIG. 34, view3500ofFIG. 35, and view3600ofFIG. 36.

While folders are typically displayed in the user interface by their display name, other values may be displayed. For example, if a folder name is comprised of integers, alternative representations may be used in order to increase usability. With some virtual taxonomies, a sort property “virtualTaxSortString” may be configured as sort property to ensure a reasonable sorting of folders. Other translations of integer values and other alphanumeric representations may be used in sorting and labelling the folders.

As described above, every folder in a virtual taxonomy may include a corresponding number identifying an amount of documents within such folder. In some variations, these numbers are omitted (which may be for certain levels or folders or for an entire virtual taxonomy). In addition, other information may be included under a column marked Documents, such as inFIG. 7, in which a number of stars correlate to a number of documents contained therein.

In some views, values or ranges associated with displayed folders may omit units. However, as illustrated in XML code3700ofFIG. 37, units of measurement may be defined by modifying the entry “displayNameSuffix” of the property “contentlength” to a identifier such as “bytes”.

Ranges which are used to determine a number of folders within a certain view may be defined in a variety of ways. Sample techniques for determining the number of folders include:equidistance—the difference between to upper and lower borders are equal, for properties indexed as integers;equidistribution—the number of documents in the ranges are nearly equal, for properties indexed as strings; andtime intervals—documents may be arranged according to time years, months and days for properties indexed as dates.

An optimal number of ranges may be set by setting an entry “optimalRangeNumber”. In some variations, ten ranges are specified as an optimal number and so approximately ten ranges are provided whenever there are a sufficient number of responsive documents. In addition, for integer properties, an alternative range strategy “equidistance” may be implemented by setting the entry “distributionAlgm” on the value “equidistance”.

When ranges are specified for integers, range borders may also be specified in order to avoid arbitrary ranges (e.g., 1 to 10,000 bytes vs. 35,684 to 45,683 byes, etc.). XML code3800illustrated inFIG. 38illustrates an arrangement in which border ranges may be specifically defined. In the XML code3800, for the property level with display name “Content Length 10000:”, the entry “distributionAlgm” is set to “ranges” indicating that ranges should be defined. This definition is accomplished with the entry “rangeDefinition” which is set to “10[interval=10000,start=0,end=100000], 11[interval=1000,start=0,end=100000]”. However, such an arrangement requires advance information regarding possible integer values of responsive documents.

Sounds ranges may also be determined for strings as provided above for a property layer with display name “Name Round:”. Therefore, an entry “distributionAlgm” is set to “round”.FIG. 39illustrates a view3900in which ranges for folders3910are based on both integer and alphabetical indicators including a folder3920for the range L-Ä.FIG. 40illustrates a view4000that is displayed in response to the selection of the folder3920for the range L-Ä which includes folders4010that are based on alphabetical indicators within the designated range with one folder4020that is a folder for documents beginning with the word S. Selection of the “S” folder4020results in the view4100as illustrated inFIG. 41being displayed.

Ranges may also be defined with gaps for integer properties with a display name “Content Length Separate:”. With this arrangement an entry “distributionAlgm” may be set to “separateRanges” and the entry “rangeDefinition” may be set to:

FIG. 42illustrates a view4200that includes a 0-5000 bytes folder4210and a 6000-10000 bytes folder4220(which includes a non-continuous range separated by a 1000 byte gap from the 0-5000 bytes folder4210). Selection of the 0-5000 bytes folder4210results in a view4300as illustrated inFIG. 43that includes a first folder4310that includes a range separated by a gap (e.g., 1000 bytes) from a second folder4320.

Gaps may also be implemented for string properties as shown for a property layer with display name “Name Ranges:”. For string properties, the following “rangeDefinition” may be used:

However, one problem with string properties is that, for example, for the range “a-k” all document which have a property value between “a” and “k” are in that range. Unfortunately documents with value “ka” are not in that range. To include all values starting with “k”, the range definition may use a special character &#xfffd, which is the last Unicode character as:

In some views, intermediate folder may be bypassed so that only the “deepest” folders containing documents are displayed. XML code4400inFIG. 44illustrates an arrangement by which intermediate levels may be skipped by defining an entry “noIntermediateFolder” and as “true”. Navigation into a taxonomy generated using the XML code4400may appear as in the view4500inFIG. 45. As a further example, if a user navigates down to “modified in 2001”, and all documents were modified in June 2001, then individual days in June may be displayed as restrictions. Similar arrangements may be provided for numerical or alphanumeric ranges.

FIGS. 46 and 47respectively show views4600,4700in which a key word search query was entered into a query box4610. After the search query was conducted, various categories containing responsive documents were traversed (e.g., Active Global Support->Other->Global) which form a breadcrumb4620. Additionally, numerous additional attributes and a number of associated responsive documents4630may also be displayed to offer a user additional restrictions to the restrictions identified in the breadcrumb4620. Moreover, several brief descriptions regarding documents4640may be displayed which fall within the category Global. It will also be appreciated that the breadcrumb may solely relate to key word search queries or traversal through various restrictions.

The categories in the breadcrumb4620may include a graphical user interface element4650, which, when activated, causes a menu4710to be displayed. This menu4710may list additional attributes. These attributes may be for documents containing each restriction prior to the graphical user interface element4650(e.g., sap), the identified attribute (e.g., Active Global Support, Consulting, Custom Development, Customer Services Network, Education, Ramp-Up), and each restriction subsequent to the graphical user interface element4650(e.g., Other, Global). In some variations, the attributes are ranked according to factors such as: number of responsive documents containing the displayed attributes, most recently accessed documents containing the displayed attributes, most frequently accessed documents containing the displayed attributes, alphabetical order, and the like. Optionally, a number of responsive documents associated with each attribute in the menu4720may also be displayed. Selection of a category Education4720will result in a revised breadcrumb4620Education->Other->Global Support.

It will be appreciated that the variations for presenting documents within a virtual taxonomy also apply to a presentation of a breadcrumb. For example, if a user applies a traversal (i.e., a pivot) in the middle of a breadcrumb 2001>June>10th, and the first restriction in the breadcrumb is changed to 2002, and there are no documents responsive to the restrictions 2002>June>10th, then, for example, the user may be presented with documents for just 2002>June. If there are no responsive documents in 2002>June, then the user may be presented with documents from 2002.

Although a few variations have been described in detail above, other modifications are possible. For example, the logic flow depicted in the accompanying figures and described herein do not require the particular order shown, or sequential order, to achieve desirable results. Other embodiments may be within the scope of the following claims.