# Stemmer Token Filter（Stemmer 词元过滤器）

原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-stemmer-tokenfilter.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-stemmer-tokenfilter.html)

译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=10028526](http://www.apache.wiki/pages/viewpage.action?pageId=10028526)

贡献者 : [fucker](/display/~caizhongjie)，[ApacheCN](/display/~apachecn)，[Apache中文网](/display/~apachechina)

```
 一个过滤器，通过单个统一接口提供（几乎）所有可用的词干词元过滤器的访问，例如：
```

```
{
    "index" : {
        "analysis" : {
            "analyzer" : {
                "my_analyzer" : {
                    "tokenizer" : "standard",
                    "filter" : ["standard", "lowercase", "my_stemmer"]
                }
            },
            "filter" : {
                "my_stemmer" : {
                    "type" : "stemmer",
                    "name" : "light_german"
                }
            }
        }
    }
}
```

**language / name** 参数用以下可用值控制词干（首选过滤器以粗体标记）：

| Arabic | **[`arabic`](http://lucene.apache.org/core/4_9_0/analyzers-common/org/apache/lucene/analysis/ar/ArabicStemmer.html)** |
| Armenian | **[`armenian`](http://snowball.tartarus.org/algorithms/armenian/stemmer.html)** |
| Basque | **[`basque`](http://snowball.tartarus.org/algorithms/basque/stemmer.html)** |
| Brazilian Portuguese | **[`brazilian`](http://lucene.apache.org/core/4_9_0/analyzers-common/org/apache/lucene/analysis/br/BrazilianStemmer.html)** |
| Bulgarian | **[`bulgarian`](http://members.unine.ch/jacques.savoy/Papers/BUIR.pdf)** |
| Catalan | **[`catalan`](http://snowball.tartarus.org/algorithms/catalan/stemmer.html)** |
| Czech | **[`czech`](http://portal.acm.org/citation.cfm?id=1598600)** |
| Danish | **[`danish`](http://snowball.tartarus.org/algorithms/danish/stemmer.html)** |
| Dutch | **[`dutch`](http://snowball.tartarus.org/algorithms/dutch/stemmer.html)**, [`dutch_kp`](http://snowball.tartarus.org/algorithms/kraaij_pohlmann/stemmer.html) |
| English | **[`english`](http://snowball.tartarus.org/algorithms/porter/stemmer.html)**, [`light_english`](http://ciir.cs.umass.edu/pubfiles/ir-35.pdf), [`minimal_english`](http://www.researchgate.net/publication/220433848_How_effective_is_suffixing), [`possessive_english`](http://lucene.apache.org/core/4_9_0/analyzers-common/org/apache/lucene/analysis/en/EnglishPossessiveFilter.html), [`porter2`](http://snowball.tartarus.org/algorithms/english/stemmer.html),[`lovins`](http://snowball.tartarus.org/algorithms/lovins/stemmer.html) |
| Finnish | **[`finnish`](http://snowball.tartarus.org/algorithms/finnish/stemmer.html)**, [`light_finnish`](http://clef.isti.cnr.it/2003/WN_web/22.pdf) |
| French | [`french`](http://snowball.tartarus.org/algorithms/french/stemmer.html), **[`light_french`](http://dl.acm.org/citation.cfm?id=1141523)**, [`minimal_french`](http://dl.acm.org/citation.cfm?id=318984) |
| Galician | **[`galician`](http://bvg.udc.es/recursos_lingua/stemming.jsp)**, [`minimal_galician`](http://bvg.udc.es/recursos_lingua/stemming.jsp) (Plural step only) |
| German | [`german`](http://snowball.tartarus.org/algorithms/german/stemmer.html), [`german2`](http://snowball.tartarus.org/algorithms/german2/stemmer.html), **[`light_german`](http://dl.acm.org/citation.cfm?id=1141523)**, [`minimal_german`](http://members.unine.ch/jacques.savoy/clef/morpho.pdf) |
| Greek | **[`greek`](http://sais.se/mthprize/2007/ntais2007.pdf)** |
| Hindi | **[`hindi`](http://computing.open.ac.uk/Sites/EACLSouthAsia/Papers/p6-Ramanathan.pdf)** |
| Hungarian | **[`hungarian`](http://snowball.tartarus.org/algorithms/hungarian/stemmer.html)**, [`light_hungarian`](http://dl.acm.org/citation.cfm?id=1141523&dl=ACM&coll=DL&CFID=179095584&CFTOKEN=80067181) |
| Indonesian | **[`indonesian`](http://www.illc.uva.nl/Publications/ResearchReports/MoL-2003-02.text.pdf)** |
| Irish | **[`irish`](http://snowball.tartarus.org/otherapps/oregan/intro.html)** |
| Italian | [`italian`](http://snowball.tartarus.org/algorithms/italian/stemmer.html), **[`light_italian`](http://www.ercim.eu/publication/ws-proceedings/CLEF2/savoy.pdf)** |
| Kurdish (Sorani) | **[`sorani`](http://lucene.apache.org/core/4_9_0/analyzers-common/org/apache/lucene/analysis/ckb/SoraniStemmer.html)** |
| Latvian | **[`latvian`](http://lucene.apache.org/core/4_9_0/analyzers-common/org/apache/lucene/analysis/lv/LatvianStemmer.html)** |
| Lithuanian | **[`lithuanian`](http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_5_3/lucene/analysis/common/src/java/org/apache/lucene/analysis/lt/stem_ISO_8859_1.sbl?view=markup)** |
| Norwegian (Bokmål) | **[`norwegian`](http://snowball.tartarus.org/algorithms/norwegian/stemmer.html)**, **[`light_norwegian`](http://lucene.apache.org/core/4_9_0/analyzers-common/org/apache/lucene/analysis/no/NorwegianLightStemmer.html)**, [`minimal_norwegian`](http://lucene.apache.org/core/4_9_0/analyzers-common/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.html) |
| Norwegian (Nynorsk) | **[`light_nynorsk`](http://lucene.apache.org/core/4_9_0/analyzers-common/org/apache/lucene/analysis/no/NorwegianLightStemmer.html)**, [`minimal_nynorsk`](http://lucene.apache.org/core/4_9_0/analyzers-common/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.html) |
| Portuguese | [`portuguese`](http://snowball.tartarus.org/algorithms/portuguese/stemmer.html), **[`light_portuguese`](http://dl.acm.org/citation.cfm?id=1141523&dl=ACM&coll=DL&CFID=179095584&CFTOKEN=80067181)**, [`minimal_portuguese`](http://www.inf.ufrgs.br/~buriol/papers/Orengo_CLEF07.pdf), [`portuguese_rslp`](http://www.inf.ufrgs.br//~viviane/rslp/index.htm) |
| Romanian | **[`romanian`](http://snowball.tartarus.org/algorithms/romanian/stemmer.html)** |
| Russian | **[`russian`](http://snowball.tartarus.org/algorithms/russian/stemmer.html)**, [`light_russian`](http://doc.rero.ch/lm.php?url=1000%2C43%2C4%2C20091209094227-CA%2FDolamic_Ljiljana_-_Indexing_and_Searching_Strategies_for_the_Russian_20091209.pdf) |
| Spanish | [`spanish`](http://snowball.tartarus.org/algorithms/spanish/stemmer.html), **[`light_spanish`](http://www.ercim.eu/publication/ws-proceedings/CLEF2/savoy.pdf)** |
| Swedish | **[`swedish`](http://snowball.tartarus.org/algorithms/swedish/stemmer.html)**, [`light_swedish`](http://clef.isti.cnr.it/2003/WN_web/22.pdf) |
| Turkish | **[`turkish`](http://snowball.tartarus.org/algorithms/turkish/stemmer.html)** |