diff options
author | Teodor Sigaev <teodor@sigaev.ru> | 2005-01-25 15:24:38 +0000 |
---|---|---|
committer | Teodor Sigaev <teodor@sigaev.ru> | 2005-01-25 15:24:38 +0000 |
commit | 324300bc7ccba6988f16915468ee2b870ef3ae5f (patch) | |
tree | 0922e10a1c417c5bff0100730281ad22add28860 /src/backend/executor/nodeMaterial.c | |
parent | d314616d128ba692aec434bd376bc40886f98f7b (diff) |
improve support of agglutinative languages (query with compound words).
regression=# select to_tsquery( '\'fotballklubber\'');
to_tsquery
------------------------------------------------
'fotball' & 'klubb' | 'fot' & 'ball' & 'klubb'
(1 row)
So, changed interface to dictionaries, lexize method of dictionary shoud return
pointer to aray of TSLexeme structs instead of char**. Last element should
have TSLexeme->lexeme == NULL.
typedef struct {
/* number of variant of split word , for example
Word 'fotballklubber' (norwegian) has two varian to split:
( fotball, klubb ) and ( fot, ball, klubb ). So, dictionary
should return:
nvariant lexeme
1 fotball
1 klubb
2 fot
2 ball
2 klubb
*/
uint16 nvariant;
/* currently unused */
uint16 flags;
/* C-string */
char *lexeme;
} TSLexeme;
Diffstat (limited to 'src/backend/executor/nodeMaterial.c')
0 files changed, 0 insertions, 0 deletions