词干提取覆盖令牌过滤器
编辑词干提取覆盖令牌过滤器编辑
通过应用自定义映射来覆盖词干提取算法,然后保护这些词语不被词干提取器修改。必须放在任何词干提取过滤器之前。
规则是 token1[, ..., tokenN] => override
形式的映射。
设置 | 描述 |
---|---|
|
要使用的映射规则列表。 |
|
映射列表的路径(相对于 |
以下是一个示例
response = client.indices.create( index: 'my-index-000001', body: { settings: { analysis: { analyzer: { my_analyzer: { tokenizer: 'standard', filter: [ 'lowercase', 'custom_stems', 'porter_stem' ] } }, filter: { custom_stems: { type: 'stemmer_override', rules_path: 'analysis/stemmer_override.txt' } } } } } ) puts response
PUT /my-index-000001 { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "standard", "filter": [ "lowercase", "custom_stems", "porter_stem" ] } }, "filter": { "custom_stems": { "type": "stemmer_override", "rules_path": "analysis/stemmer_override.txt" } } } } }
其中文件内容如下
running, runs => run stemmer => stemmer
您也可以在内联定义覆盖规则
response = client.indices.create( index: 'my-index-000001', body: { settings: { analysis: { analyzer: { my_analyzer: { tokenizer: 'standard', filter: [ 'lowercase', 'custom_stems', 'porter_stem' ] } }, filter: { custom_stems: { type: 'stemmer_override', rules: [ 'running, runs => run', 'stemmer => stemmer' ] } } } } } ) puts response
PUT /my-index-000001 { "settings": { "analysis": { "analyzer": { "my_analyzer": { "tokenizer": "standard", "filter": [ "lowercase", "custom_stems", "porter_stem" ] } }, "filter": { "custom_stems": { "type": "stemmer_override", "rules": [ "running, runs => run", "stemmer => stemmer" ] } } } } }