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

ixCreateIndexEx

NAME

ixCreateIndexEx -- Creates an index with additional control than that created by ixCreateIndex.

SYNOPSIS

void ixCreateIndexEx(OnixIndexManagerT IndexManager,OnixIndexCreationParamsT Params, StatusCodeT *Status);

ARGUMENTS

IndexManager -- A index manager created by a call to ixCreateIndexManager().

Params -- Parameters for the creation of the index.

Status -- A pointer to a value of type StatusCodeT.  If an error occurs, it will be reported here.

RETURNS

Nothing.

DESCRIPTION

ixCreateIndexEx() provides additional control over the creation of an index which is not provided by the simpler function ixCreateIndex.  In addition to creating an index, ixCreateIndexEx() allows you to:
 

  • Create a distributed index.  This allows you to distribute the index over multiple files and thus potentially on multiple disks, machines and/or networks.  This can allow you to grow an index which can index over 1 Terabyte of data.   With a distributed index, you control where the index data for a given index session is stored with the function call ixSetFinalIndexDataPosition() which for distributed indexes must be called during each indexing session.
  • Store data along with the index.  Sometimes it is useful to store data for each record indexed.  This data can be a filename, a picture, the record's text, or just about anything else useful.  The data can either be stored as a fixed length blob or a variable length blob.  Note: If you choose to store data in the index for the various records, you must store a non-zero length amount of data for every record.  Storing record data in the index is an all or nothing proposition.  Data may be stored with the function call ixStoreRecordData() and retrieved with the functions ixRetrieveRecordData() and ixRetrieveMoreRecordData().
  • Store a record identifier for each record. It is often useful to be able to store a record identifier along with each record which can be used to map to another database system or allow you an additional way to locate and identify records.

The parameters for the creation of the index are set within a single parameter object. This object is created through ixCreateIndexCreationParams and is destroyed by ixDeleteIndexCreationParams. Parameters are set this way so that new parameters may be added to the API without breaking old code. You may set each of the parameters through ixSetIndexCreationParams. For a full description of each of the parameters, see the discussion in ixSetIndexCreationParams.

SEE ALSO

ixSetFinalIndexDataPosition, ixStoreRecordData, ixCreateIndex, ixCreateIndexCreationParams, ixDeleteIndexCreationParams, ixSetIndexCreationParams.