2.2.3.1 CPMCiStateInOut

The CPMCiStateInOut message contains information on the state of the indexing service. All fields are required whether this message is sent by the client or the server.

Note When the CPMCiStateInOut message is sent by the client, all fields except cbStruct MAY contain any value, and the server MUST ignore all fields except cbStruct.

The format of the CPMCiStateInOut message that follows the header is shown in the following diagram.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

cbStruct

cWordList

cPersistentIndex

cQueries

cDocuments

cFreshTest

dwMergeProgress

eState

cFilteredDocuments

cTotalDocuments

cPendingScans

dwIndexSize

cUniqueKeys

cSecQDocuments

dwPropCacheSize

cbStruct (4 bytes):  A 32-bit unsigned integer indicating the size, in bytes, of this message (excluding the common header). MUST be set to 0x0000003C.

cWordList (4 bytes): A 32-bit unsigned integer indicating the number of in-memory indexes created for recently indexed documents.

cPersistentIndex (4 bytes): A 32-bit unsigned integer indicating the number of persisted indexes.

cQueries (4 bytes): A 32-bit unsigned integer indicating a number of actively running queries.

cDocuments (4 bytes): A 32-bit unsigned integer indicating the total number of documents waiting to be indexed.

cFreshTest (4 bytes): A 32-bit unsigned integer indicating the number of unique documents with information in indexes that are not fully optimized for performance.

dwMergeProgress (4 bytes): A 32-bit unsigned integer specifying the completion percentage of current, full optimization of indexes while optimization is in progress. MUST be less than or equal to 100.

eState (4 bytes): A 32-bit unsigned integer indicating the state of content indexing. MUST be zero or one or more of the CI_STATE_* constants defined in the following table.

Value

Meaning

0x00000000

None of the following states apply.

CI_STATE_SHADOW_MERGE

0x00000001

The indexing service is in the process of optimizing some of the indexes to reduce memory usage and improve query performance.

CI_STATE_MASTER_MERGE

0x00000002

The indexing service is in the process of full optimization for all indexes.

CI_STATE_CONTENT_SCAN_REQUIRED

0x00000004

Some documents in the inverted index have changed and the indexing service needs to determine what has been added, changed, or deleted.

CI_STATE_ANNEALING_MERGE

0x00000008

The indexing service is in the process of optimizing indexes to reduce memory usage and improve query performance. This process is more comprehensive than the one identified by the CI_STATE_SHADOW_MERGE value, but it is not as comprehensive as specified by the CI_STATE_MASTER_MERGE value. Such optimizations are implementation-specific because they depend on the way that data is stored internally; the optimizations do not affect the protocol in any way other than response time.

CI_STATE_SCANNING

0x00000010

The indexing service is examining a directory or a set of directories to see if any files have been added, deleted, or updated since the last time the directory was indexed.

CI_STATE_RECOVERING

0x00000020

The indexing service is starting from the last saved state and is in the process of recovering.

CI_STATE_INDEX_MIGRATION_MERGE

0x00000040

The indexing service is backing up inverted indexes.

CI_STATE_LOW_MEMORY

0x00000080

Most of the virtual memory of the server is in use.

CI_STATE_HIGH_IO

0x00000100

The level of input/output (I/O) activity on the server is relatively high.

CI_STATE_MASTER_MERGE_PAUSED

0x00000200

The process of full optimization (for all indexes) in progress has been paused. This is given for informational purposes only and does not affect the Content Indexing Services Protocol.

CI_STATE_READ_ONLY

0x00000400

The portion of the indexing service that picks up new documents to index has been paused. This is given for informative purposes only and does not affect the Content Indexing Services Protocol.

CI_STATE_BATTERY_POWER

0x00000800

The portion of the indexing service that picks up new documents to index has been paused to conserve battery lifetime but still replies to the queries. This is given for informative purposes only and does not affect the Content Indexing Services Protocol.

CI_STATE_USER_ACTIVE

0x00001000

The portion of the indexing service that picks up new documents to index has been paused due to high activity by the user (keyboard or mouse) but still replies to the queries. This is given for informative purposes only and does not affect the Content Indexing Services Protocol.

CI_STATE_STARTING

0x00002000

The service is starting. Queries can be run, but scanning and notification have not been enabled yet. This is given for informative purposes only and does not affect the Content Indexing Services Protocol.

CI_STATE_READING_USNS

0x00004000

The service has not read the log kept by the file system to keep track of changes to files or directories in a volume, so the inverted index might not be up to date.

cFilteredDocuments (4 bytes): A 32-bit unsigned integer indicating the number of documents indexed since content indexing has been started.

cTotalDocuments (4 bytes): A 32-bit unsigned integer indicating the total number of documents in the system.

cPendingScans (4 bytes): A 32-bit unsigned integer indicating the number of pending high-level indexing operations. The meaning of this value is provider-specific, but larger numbers are expected to indicate that more indexing remains.<6>

dwIndexSize (4 bytes): A 32-bit unsigned integer indicating the size, in megabytes, of the index (excluding the property cache).

cUniqueKeys (4 bytes): A 32-bit unsigned integer indicating the approximate number of unique keys in the catalog.

cSecQDocuments (4 bytes): A 32-bit unsigned integer indicating the number of documents that the indexing service will attempt to index again because of a failure during the initial indexing attempt.

dwPropCacheSize (4 bytes): A 32-bit unsigned integer indicating the size, in megabytes, of the property cache.