SystemStatus
Access via engine.Status. Returns a snapshot of the current engine state, counters, and any error conditions.
var status = engine.Status;
Console.WriteLine(quot;State: {status.SystemState}");
Console.WriteLine(quot;Documents: {status.DocumentCount}");
Console.WriteLine(quot;Version: {status.Version}");Properties
| Property | Type | Description |
|---|---|---|
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
enum SystemState
{
Created = 0,
Loading = 1,
Loaded = 2,
Indexing = 3,
Ready = 4,
Error = 255
}| State | Value | Description |
|---|---|---|
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 inLoaded— hibernation is a step backwards along the lifecycle, not a state of its own. Over HTTP, a hibernated dataset reportsCreatedwithrecordsOnDisk > 0in its status. A client comparingsystemState == -1should compare against these instead.
Constructors
SystemStatus()Parameterless constructor required for JSON serialization.
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.
SystemStatustoCopy
Properties
| Name | Type | Access | Description |
|---|---|---|---|
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.
| Name | Value |
|---|---|
Created | 0 |
Loading | 1 |
Loaded | 2 |
Indexing | 3 |
Ready | 4 |
Error | 255 |