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