Simple search API proposal, take 2

Magnus Bergman magnus.bergman at
Thu Jan 18 08:01:22 PST 2007

On Wed, 10 Jan 2007 16:25:53 +0100
"Mikkel Kamstrup Erlandsen" <mikkel.kamstrup at> wrote:

> There has been general good feedback on Magnus proposal, so I updated
> the wiki:

It doesn't really matter for the simple API. But I want to bring up the
difference between queries and searches (aka running/started queries)
again since it might cause confusion in a more advanced API. I don't
insist on that my terminology is used, but I suggest that a consistent
and clear terminology is agreed on.

A QUERY is a question before it's sent to the search engine. It might
be natural language compiled into some query language, possibly a binary
one. Things that can be done with this kind of object include logical
operation such as reduction or combination of queries. Some search
engines also support building "query networks", which means that common
parts of several queries are combined so that searches (especially
"live searches") become more efficient. All things done to the query are
typically done independent of the search engine, using a library maybe.

A SEARCH refers to the process in the search engine that is initialized
by the query. Several different searches can be created from the same
query, depending on several things. An obvious example is a query like
"the last ten files downloaded today". Perhaps some search engines are
smart enough to realize that the meaning of the query changes over time
and dynamically change the result. But more typically a new search
is created from the same query for an updated result. Also in the case
with "query networks" one search can be created from several queries,
and each hit refers to one (or more) queries.

More information about the xdg mailing list