Public Member Functions | Static Public Member Functions | List of all members
Xapian::Stem Class Reference

Class representing a stemming algorithm. More...

Public Member Functions

 Stem (const Stem &o)
 Copy constructor.
 
Stemoperator= (const Stem &o)
 Assignment.
 
 Stem ()
 Construct a Xapian::Stem object which doesn't change terms. More...
 
 Stem (const std::string &language)
 Construct a Xapian::Stem object for a particular language. More...
 
 Stem (StemImplementation *p)
 Construct a Xapian::Stem object with a user-provided stemming algorithm. More...
 
 ~Stem ()
 Destructor.
 
std::string operator() (const std::string &word) const
 Stem a word. More...
 
std::string get_description () const
 Return a string describing this object.
 

Static Public Member Functions

static std::string get_available_languages ()
 Return a list of available languages. More...
 

Detailed Description

Class representing a stemming algorithm.

Constructor & Destructor Documentation

Xapian::Stem::Stem ( )

Construct a Xapian::Stem object which doesn't change terms.

Equivalent to Stem("none").

Xapian::Stem::Stem ( const std::string &  language)
explicit

Construct a Xapian::Stem object for a particular language.

Parameters
languageEither the English name for the language or the two letter ISO639 code.

The following language names are understood (aliases follow the name):

  • none - don't stem terms
  • armenian (hy)
  • basque (eu)
  • catalan (ca)
  • danish (da)
  • dutch (nl)
  • english (en) - Martin Porter's 2002 revision of his stemmer
  • earlyenglish - Early English (e.g. Shakespeare, Dickens) stemmer
  • english_lovins (lovins) - Lovin's stemmer
  • english_porter (porter) - Porter's stemmer as described in his 1980 paper
  • finnish (fi)
  • french (fr)
  • german (de)
  • german2 - Normalises umlauts and ß
  • hungarian (hu)
  • italian (it)
  • kraaij_pohlmann - A different Dutch stemmer
  • norwegian (nb, nn, no)
  • portuguese (pt)
  • romanian (ro)
  • russian (ru)
  • spanish (es)
  • swedish (sv)
  • turkish (tr)
Exceptions
Xapian::InvalidArgumentErroris thrown if language isn't recognised.
Xapian::Stem::Stem ( StemImplementation p)
explicit

Construct a Xapian::Stem object with a user-provided stemming algorithm.

You can subclass Xapian::StemImplementation to implement your own stemming algorithm (or to wrap a third-party algorithm) and then wrap your implementation in a Xapian::Stem object to pass to the Xapian API.

Parameters
pThe user-subclassed StemImplementation object. This is reference counted, and so will be automatically deleted by the Xapian::Stem wrapper when no longer required.

Member Function Documentation

static std::string Xapian::Stem::get_available_languages ( )
inlinestatic

Return a list of available languages.

Each stemmer is only included once in the list (not once for each alias). The name included is the English name of the language.

The list is returned as a string, with language names separated by spaces. This is a static method, so a Xapian::Stem object is not required for this operation.

std::string Xapian::Stem::operator() ( const std::string &  word) const

Stem a word.

Parameters
worda word to stem.
Returns
the stem

The documentation for this class was generated from the following file:

Documentation for Xapian (version 1.4.0).
Generated on Wed Oct 12 2016 by Doxygen 1.8.11.