The a_term structure stores a term, its length, and its position.
typedef struct a_term { unsigned char * term; a_sql_uint32 len; a_sql_uint32 ch_len; a_sql_uint64 pos; } a_term; |
Member | Type | Description |
---|---|---|
term | unsigned char * |
The term to be indexed. |
len | a_sql_uint32 |
Length of the term, in bytes. |
ch_len | a_sql_uint32 |
Length of the term, in characters. |
pos | a_sql_uint64 |
Position of the term within the document. The database server expects that two immediately consecutive terms in a document have positions differing by 1. If the term breaker is performing its own stoplist processing, it is possible that the difference between two consecutive terms returned is more than 1; this is expected and acceptable. However, in other cases where numbers are not consecutive with positions differing by 1, the arbitrary positions can affect how full text queries are executed and can cause unexpected results for subsequent full text queries. |
Each a_term structure represents a term annotated with its byte length, character length, and its position in the document.
A pointer to an array of a_term elements is returned in the OUT parameter by the get_words method implemented as part of the a_word_source interface.
The a_term structure is defined by a header file named exttbapiv1.h, in the SDK\Include subdirectory of your SQL Anywhere installation directory.
Discuss this page in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |