summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2002-03-05 06:10:49 +0000
committerBruce Momjian <bruce@momjian.us>2002-03-05 06:10:49 +0000
commit38b4088518e99fbf8d89303c19077e84e86a9c65 (patch)
tree5dd7353691f558a19f7aa567dd26871fb1a3f715
parent68d813795a811979472fa4c0fb34f2dfbaa0e18f (diff)
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
-rw-r--r--contrib/tsearch/dict/porter_english.dct7
1 files changed, 5 insertions, 2 deletions
diff --git a/contrib/tsearch/dict/porter_english.dct b/contrib/tsearch/dict/porter_english.dct
index 1f809df9c8c..5158a9b8762 100644
--- a/contrib/tsearch/dict/porter_english.dct
+++ b/contrib/tsearch/dict/porter_english.dct
@@ -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-*/