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.
|