A
graphical user interface is for building Boolean queries and viewing search results using search cells, combination cells, a
toolbar, and a
menu bar. The search cells are movable within a
workspace and preferably contain a text field, a
facet type designation, an advanced button and a hit count. Search cells can search records by a category, keyword, date or
numeric value. Categories are preferably chosen with the assistance of a category walker. The combination cells are movable within the
workspace and preferably contain a combine icon, a hit count and an expression field. The combination
cell is a Boolean combination of two or more selected search cells. In the preferred embodiment of the invention, the Boolean logic is graphically depicted with the use of combination brackets. The contents of each combination bracket is controllable by the use of movable graphical pins that are located between each pair of search cells. The combination bracket can be represented by use of a rectangular bracket, a square bracket, or a curly brace. In an alternative embodiment of the invention, the Boolean query is depicted in a folder tree hierarchy. Search folders and combination folders are used to depict search cells and combination cells, respectively. Search folders contain the same information as search cells, but search folders can be toggled to appear as small folder icons within the
workspace. Combination folders are represented as small folder icons containing a logical AND icon, a logical OR icon or a logical MINUS icon. Search folders are shown to be included within combination folders through the use of the folder tree hierarchy, just as computer files are shown to be included within a folder in a typical
file manager program. In the preferred embodiment, the invention runs an internet browser and is coupled to a remote
server through
the internet. To minimize communication delays across
the internet, an applet can be run on the local
client to perform most
graphical display manipulations prompted by the searches manipulation of the search cells, the combination cells, the
toolbar, and the menu. The remote
server is used to execute queries received over
the internet from the local
client and deliver search results back to the local
client over the internet. Optionally, the client can take on some or all of the tasks of the
server in executing queries over the internet.