Stored States

Stored state tokens allows you to save a previous query result and retrieve it at a later point in time. The tokens are stored locally by each Content and DAH component that has received the request.

Types of Stored State

There are two types of stored state; ID-based, and reference-based.

An ID-based stored state can be used only by the server that generated it, because the document IDs are local to the server instance. It can only return the documents that were in the original query. ID-based tokens can be quickly generated and processed by the Content server.

A reference-based stored state contains a reference value extracted out of the result documents. This token can be shared between multiple Content servers, if they have matching references, and can access a shared directory to store the tokens in.

A reference-based stored state can expand to more documents than the original result set, because the reference value can be extracted out of any field in the result document.

Documents formed from e-mail attachments typically have a field containing the reference value of the parent e-mail.

Reference-based stored state is slower than ID-based stored state because of the reference lookup.

Stored State in Distributed Environments

In a distributed environment, the DAH returns a container token, which wraps up the individual tokens returned by the child servers. However, if you want to use the stored state token for an index action (for example to modify the documents), then you must set the StoredStateDetail parameter to True to get the underlying child server tokens.

The DIH does no extra processing on any stored state. Instead, if you send all the child tokens to the DIH, they are passed to the child servers, which process the tokens that they can read, and ignore the tokens that they do not have a record of.