停止分析器
编辑停止分析器编辑
stop
分析器与 simple
分析器 相同,但它增加了对移除停用词的支持。它默认使用 _english_
停用词。
示例输出编辑
response = client.indices.analyze( body: { analyzer: 'stop', text: "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone." } ) puts response
POST _analyze { "analyzer": "stop", "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone." }
上面的句子将产生以下词语
[ quick, brown, foxes, jumped, over, lazy, dog, s, bone ]
配置编辑
stop
分析器接受以下参数
|
一个预定义的停用词列表,例如 |
|
包含停用词的文件路径。此路径相对于 Elasticsearch |
有关停用词配置的更多信息,请参见 停用词标记过滤器。
示例配置编辑
在此示例中,我们将 stop
分析器配置为使用指定的词语列表作为停用词
response = client.indices.create( index: 'my-index-000001', body: { settings: { analysis: { analyzer: { my_stop_analyzer: { type: 'stop', stopwords: [ 'the', 'over' ] } } } } } ) puts response response = client.indices.analyze( index: 'my-index-000001', body: { analyzer: 'my_stop_analyzer', text: "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone." } ) puts response
PUT my-index-000001 { "settings": { "analysis": { "analyzer": { "my_stop_analyzer": { "type": "stop", "stopwords": ["the", "over"] } } } } } POST my-index-000001/_analyze { "analyzer": "my_stop_analyzer", "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone." }
上面的示例产生以下词语
[ quick, brown, foxes, jumped, lazy, dog, s, bone ]
定义编辑
它包含
如果您需要对 stop
分析器进行超出配置参数的自定义,则需要将其重新创建为 custom
分析器并进行修改,通常是通过添加标记过滤器。这将重新创建内置的 stop
分析器,您可以将其用作进一步自定义的起点
response = client.indices.create( index: 'stop_example', body: { settings: { analysis: { filter: { english_stop: { type: 'stop', stopwords: '_english_' } }, analyzer: { rebuilt_stop: { tokenizer: 'lowercase', filter: [ 'english_stop' ] } } } } } ) puts response