1. A method of refining Boolean queries, the method comprising: obtaining, with one or more processors, a query provided by a user via a user's computing device; searching, with one or more processors, a corpus of documents based on the query to identify responsive documents, the corpus having more than 2,000 documents; selecting, with one or more processors, narrowing terms that pertain to respective subsets of the responsive documents; selecting, with one or more processors, broadening terms related to the query; instructing, with one or more processors, the user's computing device to present a graphical user interface comprising: graphical representations of the narrowing terms; graphical representations of the broadening terms; and one or more user inputs by which the user refines the query by adding a selected narrowing term or a selected broadening term; obtaining, with one or more processors, a user selection of a broadening term or a narrowing term; forming, with one or more processors, a refined query based on the user selection; searching, with one or more processors, at least part of the corpus based on the refined query to identify refined responsive documents; and instructing, with one or more processors, the user's computing device to present an updated graphical user interface with information about the refined responsive documents, wherein the updated graphical user interface comprises a query entry input having graphical regions representing query constituent components and user-selectable inputs for each of the components by which the respective component is removed from the query.