Onix Text Retrieval Toolkit
API Reference

API
Function List
Topical List

Main Index

Introduction
Calling Sequences
Query Processing
Relevancy Ranking
Data Types
Error Handling
   
Support
   
Lextek Products
Onix Text Retrieval Engine
Lextek Document Profiler & Categorizer
Brevity Document Summarizer
RouteX Routing Engine
Language Identifier

ixIncrementRecord

Name

ixIncrementRecord

Synopsis

void ixIncrementRecord( OnixIndexingEngineT IndexingEngine, WordTypeT *Word, StatusCodeT *Status)

Arguments

IndexingEngine: An indexing engine object created by a call to ixStartIndexingSession.

Word: A pointer to the structure of type WordTypeT which has been used for indexing so far.

Status: A pointer to a value of type StatusCodeT representing any error conditions.

Returns

Nothing.

If an error occurred, Status will be set to the error number.

Description

Information retrieval engines see text as a sequence of "records" or "chunks."  When a query is performed, the results list lists which records match the query.  It is usually best to make a record a logical unit of text such as a book, document, section, or paragraph.  Onix allows you to define what a record is by calling ixIncrementRecord when you complete indexing all the words in the current record and intend on starting a new record.

IMPORTANT NOTE: ixIncrementRecord should be called between records.  This function signals to the indexing engine the end of one record and the beginning of the next.  ixIncrementRecord should not be called immediately prior to a call to ixEndIndexingSession.  If ixIncrementRecord is called immediately prior to ixEndIndexingSession, the following scenario occurs:  The indexing engine reserves a new record number for the expected upcoming record.  When ixEndIndexingSession is called immediately afterwards, this can leave an unused record number which can cause the index to become out of sync later if any of the dynamic capabilities of the index are taken advantage of.  Pseudo-code for the solution to this is as follows:

ixStartIndexingSession() 
for(EACH RECORD) {

   for(EACH WORD) { 
       ixIndexWord(Word) 
   } 
   if(MORE DATA TO INDEX) { 
      ixIncrementRecord(Word) 
   } 
} 
ixEndIndexingSession()


								

See Also

Indexing
ixIndexWord, ixIndexWordSpecial