SystemStatus

Access via engine.Status. Returns a snapshot of the current engine state, counters, and any error conditions.

csharp
var status = engine.Status;

Console.WriteLine(
quot;State: {status.SystemState}"); Console.WriteLine(
quot;Documents: {status.DocumentCount}"); Console.WriteLine(
quot;Version: {status.Version}");

Properties

PropertyTypeDescription
SystemState
SystemState
Current lifecycle state
DocumentCount
int
Number of documents in the index
SearchCounter
int
Total number of Search() calls since creation
SecondsToIndex
double
Duration of the last Index() call in seconds
Version
string
Indx library version number
LicenseInfo
LicenseInfo
License status and limits
ErrorMessage
string
Human-readable error description. Empty string means no error
InvalidArgument
bool
true if Query was null
InvalidState
bool
true if Index() was called with zero documents, or Search() was called before Index()
TooLongSearchText
bool
true if a query's text exceeded IndexerSetup.MaxSearchTextLength (default 300); such a search is refused and returns an empty result with a Reason, never a truncated one
IndexedTextTruncated
bool
true if a document's text was cut at IndexerSetup.MaxIndexTextLength (default 100 000) on the way into the index; the stored record is untouched
TimeOfInstanceCreation
DateTime
When the constructor was called
TimeOfLastIndexBuild
DateTime
When Index() last completed

SystemState Enum

csharp
enum SystemState
{
    Created    =  0,
    Loading    =  1,
    Loaded     =  2,
    Indexing   =  3,
    Ready      =  4,
    Error      = 255
}
StateValueDescription
Created
0
Instance created, no data loaded
Loading
1
Load() is in progress
Loaded
2
Documents loaded (or hibernated), not yet indexed — Index() or WakeUp() builds the index
Indexing
3
Index() is in progress
Ready
4
Ready to search. Dynamic operations are also available in this state
Error
255
An unrecoverable error has occurred

Removed: Hibernated = -1 (Sep 2026). Hibernate() now lands in Loaded — hibernation is a step backwards along the lifecycle, not a state of its own. Over HTTP, a hibernated dataset reports Created with recordsOnDisk > 0 in its status. A client comparing systemState == -1 should compare against these instead.

Constructors

csharp
SystemStatus()

Parameterless constructor required for JSON serialization.

csharp
SystemStatus(SystemStatus toCopy)

Copy constructor. Performs a shallow copy of all properties and fields. LicenseInfo is deep-copied. Error lists are copied by reference since they are replaced rather than mutated on each operation.

  • SystemStatus toCopy

Properties

NameTypeAccessDescription
DocumentCount
int
get/set
Number of documents currently loaded and indexed.
ErrorMessage
string
get/set
Short description of the most recent fatal error, if any. An empty string means no fatal error occurred. For full detail on all errors from the last operation see RecoverableErrors and UnrecoverableErrors.
InvalidArgument
bool
get/set
Set to true if a search or operation was called with a null or invalid argument.
InvalidDataSetName
bool
get/set
Only relevant for certain configurations. See individual configuration documentation for details.
InvalidState
bool
get/set
Set to true if an operation was called in an invalid system state, for example if Search is called before Index has completed.
LicenseInfo
LicenseInfo
get/set
License information for this engine instance.
RecoverableErrors
List<ProcessErrorCount>
get/set
Recoverable errors from the most recent Init or Load operation, grouped by Source and Message. Each entry contains the ProcessError describing the first occurrence and a count of how many times that same error was seen. Mirrored from ProcessMonitor at the end of the operation and remains accessible after the monitor reference is discarded. An empty list means no recoverable errors were encountered.
SearchCounter
int
get/set
Total number of Search calls made since the engine was created.
SecondsToIndex
double
get/set
Duration of the most recent Index operation in seconds.
SystemState
SystemState
get/set
Current lifecycle state of the engine.
TimeOfInstanceCreation
DateTime
get/set
Timestamp of when this engine instance was created.
TimeOfLastIndexBuild
DateTime
get/set
Timestamp of the most recent completed Index call.
TooLongSearchText
bool
get/set
Set to true when a query's text exceeded. Such a search is refused and returns an empty result rather than being truncated: a query that long cannot match more by being cut, and cutting it would answer a question nobody asked. Not cleared until DeleteAll.
IndexedTextTruncated
bool
get/set
Set to true when a document's text was cut aton the way into the index. The document is still searchable on what survived, and the stored record is untouched — only the index is incomplete. Not cleared until DeleteAll.
UnrecoverableErrors
List<ProcessError>
get/set
Unrecoverable errors from the most recent Init or Load operation. Each entry is a distinct fatal error that caused the operation to abort. Succeeded on the ProcessMonitor was set to false for each entry. Also populated when the MaxRecoveryAttempts threshold is exceeded, in which case the error that triggered the limit is promoted here. Mirrored from ProcessMonitor at the end of the operation. An empty list means the operation completed without fatal errors.
Version
string
get/set
Version number of the Indx library.

SystemStateenum

Reflects the major lifecycle state of a search engine instance.

NameValue
Created
0
Loading
1
Loaded
2
Indexing
3
Ready
4
Error
255