The Main Manual Page Dynamic API Documentation CD-ROM API Documentation About Onix Types About Onix Errors Onix's Web Site at Lextek International Lextek International Onix Full Text Indexing and Retrieval Toolkit

ixFinalProcessIndex

NAME

 ixFinalProcessIndex

SYNOPSIS

void xFinalProcessIndex(OnixIndexManagerT IndexManager, OnixIndexingEngineT Indexer, StatusCodeT *Status);

ARGUMENTS

IndexManager -- IndexManager which you obtained when you called ixCreateIndexManager() and then associated with an index by a call to ixOpenIndex().

IndexingEngine -- IndexingEngine which you obtained from the call to ixStartIndexingSession().

*Status  -- Pointer to the Status value of type StatusCodeT.

RETURNS

 Nothing.

 If an error occurs, the value of Status will be set to an error value.

DESCRIPTION

When you are finished indexing, Onix needs to take the data generated during the main indexing process and compile it into a highly compressed and efficient index structure. ixEndIndexingSession provides an easy way to accomplish this. However, some applications (especially multi-user or multi-threaded applications need a finer level of control than that provided by ixEndIndexingSession. ixFinalProcessIndex gives you this. ixEndIndexingSession modifies the main index file to delineate where the new index data is located when it is finished processing the index data which can cause problems if the index is being searched concurrently. ixFinalProcessIndex does not do this. In this way, ixFinalProcessIndex processes the index data generated so that it can safely run in a separate thread than that which performs queries on the index. Since ixFinalProcessIndex does not modify the main index file, ixFinalProcessIndex does not make the index data generated during the indexing session part of the index. (After ixFinalProcessIndex has finished, you need to follow it with a call to ixMakeIndexActive to make the new index data part of the index. Be sure all queries are stopped momentarily during the call to ixMakeIndexActive while the main index is being updated. See the documentation for ixMakeIndexActive for details.)

Before calling ixFinalProcessIndex be sure you have set the location of the index data generated by a call to ixSetFinalIndexDataPosition. (This call must be made at some point during the indexing session.) In this way, ixFinalProcessIndex will know what file to create and where to put the compressed index data.

ixFinalProcessIndex followed by a call to ixMakeIndexActive() is equivalent to ixEndIndexingSession().

SEE ALSO

 ixStartIndexingSession, ixIndexWord, ixEndIndexingSession, ixMakeIndexActive

ixSetFinalIndexDataPosition