Sync our Snowball stemmer dictionaries with current upstream.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: fd582317e10e26083b8c720598bfcdbf89787112
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2018-09-24T21:29:38Z
Releases: 12.0
Sync our Snowball stemmer dictionaries with current upstream.

We haven't touched these since text search functionality landed in core
in 2007 :-(.  While the upstream project isn't a beehive of activity,
they do make additions and bug fixes from time to time.  Update our
copies of these files.

Also update our documentation about how to keep things in sync, since
they're not making distribution tarballs these days.  Fortunately,
their source code turns out to be a breeze to build.

Notable changes:

* The non-UTF8 version of the hungarian stemmer now works in LATIN2
not LATIN1.

* New stemmers have appeared for arabic, indonesian, irish, lithuanian,
nepali, and tamil.  These all work in UTF8, and the indonesian and
irish ones also work in LATIN1.

(There are some new stemmers that I did not incorporate, mainly because
their names don't match the underlying languages, suggesting that they're
not to be considered mainstream.)

Worth noting: the upstream Nepali dictionary was contributed by
Arthur Zakirov.

initdb forced because the contents of snowball_create.sql have
changed.

Still TODO: see about updating the stopword lists.

Arthur Zakirov, minor mods and doc work by me

Discussion: https://postgr.es/m/20180626122025.GA12647@zakirov.localdomain
Discussion: https://postgr.es/m/20180219140849.GA9050@zakirov.localdomain

Files

PathChange+/−
doc/src/sgml/textsearch.sgml modified +8 −2
src/backend/snowball/dict_snowball.c modified +53 −33
src/backend/snowball/libstemmer/stem_ISO_8859_1_danish.c modified +60 −70
src/backend/snowball/libstemmer/stem_ISO_8859_1_dutch.c modified +144 −154
src/backend/snowball/libstemmer/stem_ISO_8859_1_english.c modified +256 −286
src/backend/snowball/libstemmer/stem_ISO_8859_1_finnish.c modified +243 −270
src/backend/snowball/libstemmer/stem_ISO_8859_1_french.c modified +271 −306
src/backend/snowball/libstemmer/stem_ISO_8859_1_german.c modified +209 −209
src/backend/snowball/libstemmer/stem_ISO_8859_1_indonesian.c added +414 −0
src/backend/snowball/libstemmer/stem_ISO_8859_1_irish.c added +490 −0
src/backend/snowball/libstemmer/stem_ISO_8859_1_italian.c modified +170 −202
src/backend/snowball/libstemmer/stem_ISO_8859_1_norwegian.c modified +53 −67
src/backend/snowball/libstemmer/stem_ISO_8859_1_porter.c modified +157 −172
src/backend/snowball/libstemmer/stem_ISO_8859_1_portuguese.c modified +207 −254
src/backend/snowball/libstemmer/stem_ISO_8859_1_spanish.c modified +166 −209
src/backend/snowball/libstemmer/stem_ISO_8859_1_swedish.c modified +47 −55
src/backend/snowball/libstemmer/stem_ISO_8859_2_hungarian.c (from src/backend/snowball/libstemmer/stem_ISO_8859_1_hungarian.c) renamed +203 −548
src/backend/snowball/libstemmer/stem_ISO_8859_2_romanian.c modified +133 −153
src/backend/snowball/libstemmer/stem_KOI8_R_russian.c modified +151 −162
src/backend/snowball/libstemmer/stem_UTF_8_arabic.c added +1683 −0
src/backend/snowball/libstemmer/stem_UTF_8_danish.c modified +60 −70
src/backend/snowball/libstemmer/stem_UTF_8_dutch.c modified +144 −154
src/backend/snowball/libstemmer/stem_UTF_8_english.c modified +256 −286
src/backend/snowball/libstemmer/stem_UTF_8_finnish.c modified +243 −272
src/backend/snowball/libstemmer/stem_UTF_8_french.c modified +271 −306
src/backend/snowball/libstemmer/stem_UTF_8_german.c modified +206 −206
src/backend/snowball/libstemmer/stem_UTF_8_hungarian.c modified +209 −554
src/backend/snowball/libstemmer/stem_UTF_8_indonesian.c added +414 −0
src/backend/snowball/libstemmer/stem_UTF_8_irish.c added +490 −0
src/backend/snowball/libstemmer/stem_UTF_8_italian.c modified +170 −202
src/backend/snowball/libstemmer/stem_UTF_8_lithuanian.c added +850 −0
src/backend/snowball/libstemmer/stem_UTF_8_nepali.c added +424 −0
src/backend/snowball/libstemmer/stem_UTF_8_norwegian.c modified +53 −67
src/backend/snowball/libstemmer/stem_UTF_8_porter.c modified +157 −172
src/backend/snowball/libstemmer/stem_UTF_8_portuguese.c modified +207 −254
src/backend/snowball/libstemmer/stem_UTF_8_romanian.c modified +133 −153
src/backend/snowball/libstemmer/stem_UTF_8_russian.c modified +175 −184
src/backend/snowball/libstemmer/stem_UTF_8_spanish.c modified +166 −209
src/backend/snowball/libstemmer/stem_UTF_8_swedish.c modified +47 −55
src/backend/snowball/libstemmer/stem_UTF_8_tamil.c added +1915 −0
src/backend/snowball/libstemmer/stem_UTF_8_turkish.c modified +790 −890
src/backend/snowball/libstemmer/utilities.c modified +23 −20
src/backend/snowball/Makefile modified +15 −1
src/backend/snowball/README modified +34 −19
src/backend/snowball/stopwords/nepali.stop added +304 −0
src/bin/initdb/initdb.c modified +12 −0
src/include/catalog/catversion.h modified +1 −1
src/include/snowball/libstemmer/header.h modified +2 −0
src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_english.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_french.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_german.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_hungarian.h deleted +0 −16
src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h added +16 −0
src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h added +16 −0
src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h modified +2 −2
src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h added +16 −0
src/include/snowball/libstemmer/stem_ISO_8859_2_romanian.h modified +2 −2
src/include/snowball/libstemmer/stem_KOI8_R_russian.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_arabic.h added +16 −0
src/include/snowball/libstemmer/stem_UTF_8_danish.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_dutch.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_english.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_finnish.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_french.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_german.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_hungarian.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_indonesian.h added +16 −0
src/include/snowball/libstemmer/stem_UTF_8_irish.h added +16 −0
src/include/snowball/libstemmer/stem_UTF_8_italian.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h added +16 −0
src/include/snowball/libstemmer/stem_UTF_8_nepali.h added +16 −0
src/include/snowball/libstemmer/stem_UTF_8_norwegian.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_porter.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_portuguese.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_romanian.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_russian.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_spanish.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_swedish.h modified +2 −2
src/include/snowball/libstemmer/stem_UTF_8_tamil.h added +16 −0
src/include/snowball/libstemmer/stem_UTF_8_turkish.h modified +2 −2

Documentation touched

Discussion