Skip to content
Snippets Groups Projects
Commit 8fdc7814 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Please, apply attached patch for contrib/tsearch to 7.2.1 and current

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
parent 6024ac1b
No related branches found
No related tags found
No related merge requests found
...@@ -577,7 +577,7 @@ static void step_2(struct english_stemmer * z) ...@@ -577,7 +577,7 @@ static void step_2(struct english_stemmer * z)
case 'g': case 'g':
if (ends(z, "logi", 4)) if (ends(z, "logi", 4))
{ z->j++; /*-NEW-*/ /*(Barry Wilkins)*/ { z->j++; /*-NEW-*/ /*(Barry Wilkins)*/
r(z, "og", 3); break; r(z, "og", 2); break;
} /*-DEPARTURE-*/ } /*-DEPARTURE-*/
/* To match the published algorithm, delete this line */ /* 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) ...@@ -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); { 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-*/ if (z->k > 1) /*-DEPARTURE-*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment