From: Bruce Momjian Date: Mon, 20 Jul 1998 02:45:03 +0000 (+0000) Subject: Update fti README and stopwords. X-Git-Tag: REL9_0_0~26890 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=0de96f82dc9af3de8aa840fb26563481479becd6;p=pg-rex%2Fsyncrep.git Update fti README and stopwords. --- diff --git a/contrib/fulltextindex/README b/contrib/fulltextindex/README index 06ea57f53e..3137e93256 100644 --- a/contrib/fulltextindex/README +++ b/contrib/fulltextindex/README @@ -27,6 +27,9 @@ the fti-table and the orig-table, we can get the actual rows we want (this can also be done by using subselects, and maybe there're other ways too). +The trigger code also allows an array called StopWords, that prevents +certain words from being indexed. + As an example we take the previous query, where we assume we have all sub-strings in the table 'cds-fti': diff --git a/contrib/fulltextindex/fti.c b/contrib/fulltextindex/fti.c index 1131b6078b..8d14f8f55c 100644 --- a/contrib/fulltextindex/fti.c +++ b/contrib/fulltextindex/fti.c @@ -70,9 +70,11 @@ bool new_tuple = false; /* THIS LIST MUST BE IN SORTED ORDER, A BINARY SEARCH IS USED!!!! */ char *StopWords[] = { /* list of words to skip in indexing */ +#ifdef SAMPLE_STOP_WORDS "no" "the", "yes", +#endif }; /* stuff for caching query-plans, stolen from contrib/spi/\*.c */ @@ -331,6 +333,9 @@ is_stopword(char *text) StopLow = &StopWords[0]; /* initialize stuff for binary search */ StopHigh = endof(StopWords); + if (lengthof(StopWords) == 0) + return false; + while (StopLow <= StopHigh) { StopMiddle = StopLow + (StopHigh - StopLow) / 2;