]> granicus.if.org Git - postgresql/commitdiff
Please, apply attached patch for contrib/tsearch to 7.2.1 and current
authorBruce Momjian <bruce@momjian.us>
Tue, 5 Mar 2002 06:10:28 +0000 (06:10 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 5 Mar 2002 06:10:28 +0000 (06:10 +0000)
CVS. It  fix english stemmer's problem with ending words like
'technology'.

We have found one more bug in english stemmer. The bug is with
'irregular'  english words like 'skies' -> 'sky'. Please, apply attached
cumulative patch to  7.2.1 and current CVS instead previous one.

Thank to Thomas T. Thai <tom@minnesota.com> for hard testing. This kind
of bug  has significance only for dump/reload database and viewing, but
searching/indexing works right.

Teodor Sigaev

contrib/tsearch/dict/porter_english.dct

index 1f809df9c8cdd40fd8c998680e5110e8b39e0caf..5158a9b876237ad9bd861612374c1bb1a027e332 100644 (file)
@@ -577,7 +577,7 @@ static void step_2(struct english_stemmer * z)
         case 'g':
             if (ends(z, "logi", 4))
             {   z->j++;                /*-NEW-*/ /*(Barry Wilkins)*/
-                r(z, "og", 3); break;
+                r(z, "og", 2); break;
             } /*-DEPARTURE-*/
 
      /* To match the published algorithm, delete this line */
@@ -683,7 +683,10 @@ static const char * english_stem(void * z_, const char * q, int i0, int i1)
 
 
     {   const char * t = search_pool(z->irregulars, z->k + 1, z->p);
-        if (t != 0) return t;
+        if (t != 0)  {
+               z->k = strlen(t) - 1;   
+               return t;
+       }
     }
 
     if (z->k > 1) /*-DEPARTURE-*/