diff options
-rw-r--r-- | IkiWiki/Plugin/search.pm | 11 |
1 files changed, 10 insertions, 1 deletions
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); |