Class representing a stemming algorithm.
More...
#include <stem.h>
|
|
| Stem (const Stem &o) |
| | Copy constructor.
|
|
Stem & | operator= (const Stem &o) |
| | Assignment.
|
|
| Stem (Stem &&)=default |
| | Move constructor.
|
|
Stem & | operator= (Stem &&)=default |
| | Move assignment operator.
|
| | Stem () |
| | Construct a Xapian::Stem object which doesn't change terms.
|
| | Stem (std::string_view language, bool fallback=false) |
| | Construct a Xapian::Stem object for a particular language.
|
| | Stem (StemImplementation *p) |
| | Construct a Xapian::Stem object with a user-provided stemming algorithm.
|
|
| ~Stem () |
| | Destructor.
|
| std::string | operator() (const std::string &word) const |
| | Stem a word.
|
|
bool | is_none () const |
| | Return true if this is a no-op stemmer.
|
|
std::string | get_description () const |
| | Return a string describing this object.
|
Class representing a stemming algorithm.
◆ Stem() [1/3]
Construct a Xapian::Stem object which doesn't change terms.
Equivalent to Stem("none").
◆ Stem() [2/3]
| Xapian::Stem::Stem |
( |
std::string_view | language, |
|
|
bool | fallback = false ) |
Construct a Xapian::Stem object for a particular language.
- Parameters
-
| language | Either 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
- arabic (ar) - Since Xapian 1.3.5
- armenian (hy) - Since Xapian 1.3.0
- basque (eu) - Since Xapian 1.3.0
- catalan (ca) - Since Xapian 1.3.0
- danish (da)
- dutch (nl, kraaij_pohlmann) - Before Xapian 2.0.0, "dutch" was Martin Porter's Dutch stemmer, and a stemmer which approximately implemented the Kraaij-Pohlmann Dutch stemmer was available separately as "kraaij_pohlmann".
- dutch_porter - This was the "dutch" stemmer before Xapian 2.0.0. In 1.4.x for x >= 28, "dutch_porter" was an alias for dutch to provide forward compatibility to Xapian 2.
- english (en) - Martin Porter's 2002 revision of his stemmer
- earlyenglish - English stemmer with additional rules to improve handling of Early Modern English (e.g. Shakespeare, Dickens) but these overstem some words in contemporary English (since Xapian 1.3.2; originally this was based on "porter", since Xapian 2.0.0 this is based on "english").
- lovins - Lovin's English stemmer
- porter - Porter's English stemmer exactly matching his 1980 paper
- esperanto (eo) - Since Xapian 2.0.0
- estonian (et) - Since Xapian 2.0.0
- finnish (fi)
- french (fr)
- german (de, german2) - Before Xapian 2.0.0, german2 was a separate variant of the german stemmer which normalised umlauts (e.g. รค and ae). The two variants have now been merged into one.
- greek (el) - Since Xapian 2.0.0
- hindi (hi) - Since Xapian 2.0.0
- hungarian (hu)
- indonesian (id) - Since Xapian 1.4.6
- irish (ga) - Since Xapian 1.4.7
- italian (it)
- lithuanian (lt) - Since Xapian 1.4.7
- nepali (ne) - Since Xapian 1.4.7
- norwegian (nb, nn, no)
- polish (pl) - Since Xapian 2.0.0
- portuguese (pt)
- romanian (ro)
- russian (ru)
- serbian (sr) - Since Xapian 2.0.0
- spanish (es)
- swedish (sv)
- tamil (ta) - Since Xapian 1.4.7
- turkish (tr)
- yiddish (yi) - Since Xapian 2.0.0
- Parameters
-
| fallback | If true then treat unknown language as "none", otherwise an exception is thrown (default: false). Parameter added in Xapian 1.4.14 - older versions always threw an exception. |
- Exceptions
-
◆ Stem() [3/3]
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
-
| p | The user-subclassed StemImplementation object. This is reference counted, and so will be automatically deleted by the Xapian::Stem wrapper when no longer required. |
◆ get_available_languages()
| 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.
◆ operator()()
| std::string Xapian::Stem::operator() |
( |
const std::string & | word | ) |
const |
|
inline |
Stem a word.
- Parameters
-
- Returns
- the stem
The documentation for this class was generated from the following file: