Peeling the onion: Okapi system architecture and software design issues

At the heart of the Okapi system is a formula referring to some half a dozen variables, which estimate the probability that a given document is relevant to a given query. User interface design for Okapi aims to present its search capabilities as clearly and simply as possible. But between the basic formula and the simple interface lie several layers of complex software, which must support both probabilistic and non‐probabilistic retrieval functions, and combine them in a logical and consistent way. We describe the evolution, and some of the functions, of these software layers.