The indexed/boolean search engine for Gopher allows a client to query an index for keywords. The use of both text keywords and boolean operators allows clients to tailor searches to their individual needs. Everything is based upon a "QUERY": A QUERY consists an Expression, optionally Query: expr {expr} followed by another Expression; "AND" is assumed between multiple expressions. Each EXPRESSION consists a Term, optionally Expr: term {OR term} followed by "OR" and another Term. A TERM is a Factor, optionally followed by Term: factor {and|not factor} "AND" or "NOT" and another Factor. A FACTOR can be a Token, or another Query. Factor: (query) | token A TOKEN is a keyword. Token: keyword A KEYWORD is a string of alphabetic Keyword: a-z{a-z}[*] characters of any length.