From: Joey Hess Date: Wed, 4 Jun 2008 06:41:02 +0000 (-0400) Subject: have the xapian stemmer use a language based on LANG X-Git-Tag: 2.49~11 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=bf9829352b85e358f33061e65ece5d5515780840;p=ikiwiki.git have the xapian stemmer use a language based on LANG --- diff --git a/IkiWiki/Plugin/search.pm b/IkiWiki/Plugin/search.pm index 5e1d98a72..14bdb8dbc 100644 --- a/IkiWiki/Plugin/search.pm +++ b/IkiWiki/Plugin/search.pm @@ -54,6 +54,7 @@ sub pagetemplate (@) { #{{{ } #}}} my $scrubber; +my $stemmer; sub index (@) { #{{{ my %params=@_; @@ -105,7 +106,15 @@ sub index (@) { #{{{ ); my $tg = Search::Xapian::TermGenerator->new(); - $tg->set_stemmer(new Search::Xapian::Stem("english")); + if (! $stemmer) { + my $langcode=$ENV{LANG} || "en"; + $langcode=~s/_.*//; + eval { $stemmer=Search::Xapian::Stem->new($langcode) }; + if ($@) { + $stemmer=Search::Xapian::Stem->new("english"); + } + } + $tg->set_stemmer($stemmer); $tg->set_document($doc); $tg->index_text($params{page}, 2); $tg->index_text($title, 2);