KStem 词元过滤器
编辑KStem 词元过滤器编辑
提供 KStem 基于英语的词干提取。 kstem
过滤器将 算法词干提取 与内置 词典 相结合。
kstem
过滤器倾向于比其他英语词干提取过滤器(例如 porter_stem
过滤器)更少地进行词干提取。
kstem
过滤器等效于 stemmer
过滤器的 light_english
变体。
此过滤器使用 Lucene 的 KStemFilter。
示例编辑
以下分析 API 请求使用 kstem
过滤器将 the foxes jumping quickly
词干提取为 the fox jump quick
response = client.indices.analyze( body: { tokenizer: 'standard', filter: [ 'kstem' ], text: 'the foxes jumping quickly' } ) puts response
GET /_analyze { "tokenizer": "standard", "filter": [ "kstem" ], "text": "the foxes jumping quickly" }
过滤器生成以下词元
[ the, fox, jump, quick ]
添加到分析器编辑
以下 创建索引 API 请求使用 kstem
过滤器来配置新的 自定义分析器。
为了正常工作,kstem
过滤器需要小写词元。为了确保词元是小写的,请在分析器配置中将 lowercase
过滤器添加到 kstem
过滤器之前。
response = client.indices.create( index: 'my-index-000001', body: { settings: { analysis: { analyzer: { my_analyzer: { tokenizer: 'whitespace', filter: [ 'lowercase', 'kstem' ] } } } } } ) puts response
PUT /my-index-000001 { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "whitespace", "filter": [ "lowercase", "kstem" ] } } } } }