ixProcessRecordID()
void ixProcessRecordID(OnixIndexingEngineT IndexingEngine, UCharT *RecordID, size_t RecordIDLength, BooleanT StoreRecordID, BooleanT IndexRecordID, StatusCodeT *Status);
IndexingEngine -- An indexing engine which was returned by a call to ixStartIndexingSession()
*RecordID -- A pointer to a string which contains the RecordID. RecordIDs are limited to 120 bytes in length.
RecordIDLength -- The length of the record ID in bytes.
StoreRecordID -- Flag as to whether the index should store a copy of the record ID along with every record. BooleanTrue (1) stores the Record ID while BooleanFalse does not.
IndexRecordID -- Flag as to whether the RecordID is indexed. If the RecordID is indexed, then records may be looked up via their RecordID. BooleanTrue indexes the RecordID while BooleanFalse does not.
*Status -- Pointer to a value of type StatusCodeT
Nothing.
Onix allows you to assign a RecordID to every record indexed. A Record ID may be useful to coordinate the Onix's index with other database systems or pieces of data. If a RecordID is indexed, then it is very easy to find any given record given a RecordID. To index a RecordID, simply set the IndexRecordID flag to BooleanTrue.
Typically, if you are assigning a RecordID to a record, you will want to store it along with the record. To do this set the StoreRecordID flag to BooleanTrue or BooleanFalse otherwise. If the RecordID you assign already exists, the new RecordID will replace the old one.
RecordIDs are case sensitive and may contain any character or characters. For future compatibility reasons, it is highly recommended that RecordIDs be kept to 120 bytes in length or less.
Note: If you choose to assign a RecordID to one record, you must assign a RecordID to every record indexed for the entire index.