Function

SKIndexCompact

Invokes all pending updates associated with an index, compacts the index if compaction is needed, and commits all changes to backing store.

Declaration

Boolean SKIndexCompact(SKIndexRef inIndex);

Parameters

inIndex

The index you want to compact.

Return Value

A Boolean value of true on success, or false on failure.

Discussion

Over time, as document URL objects (of type SKDocumentRef) and associated contents get added to and removed from an index, the index’s disk or memory footprint may grow due to fragmentation.

Compacting can take a significant amount of time. Do not call SKIndexCompact on the main thread in an application with a user interface. Call it only if the index is significantly fragmented and according to the needs of your application.

Calling SKIndexCompact changes the block allocation for an index’s backing store. Close all clients of an index before calling this function.

See Also

Managing Indexes

SKIndexAddDocumentWithText

Adds a document URL (SKDocumentRef) object, and the associated document’s textual content, to an index.

SKIndexAddDocument

Adds location information for a file-based document, and the document’s textual content, to an index.

SKIndexFlush

Invokes all pending updates associated with an index and commits them to backing store.

SKIndexGetDocumentCount

Gets the total number of documents represented in an index.

SKIndexGetMaximumDocumentID

Gets the highest-numbered document ID in an index.

SKIndexGetMaximumTermID

Gets the highest-numbered term ID in an index.

SKIndexDocumentIteratorCreate

Creates an index-based iterator for document URL objects (of type SKDocumentRef) owned by a parent document URL object.

SKIndexDocumentIteratorCopyNext

Obtains the next document URL object (of type SKDocumentRef) from an index using a document iterator.

SKIndexDocumentIteratorGetTypeID

Gets the type identifier for Search Kit document iterators.

SKIndexGetAnalysisProperties

Gets the text analysis properties of an index.

SKIndexMoveDocument

Changes the parent of a document URL object (of type SKDocumentRef) in an index.

SKIndexRemoveDocument

Removes a document URL object (of type SKDocumentRef) and its children, if any, from an index.

SKIndexRenameDocument

Changes the name of a document URL object (of type SKDocumentRef) in an index.

SKIndexSetMaximumBytesBeforeFlush

Not recommended. Sets the memory size limit for updates to an index, measured in bytes.

SKIndexGetMaximumBytesBeforeFlush

Not recommended. Gets the memory size limit for updates to an index, measured in bytes.