Stop Analyzer
停用词分析器在 simple Analyzer
的基础上增加了对排除停止词的支持。它默认使用_english_stop单词。
示例
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 ]
配置
停用词分析器接受以下参数:
- stopwords 预定义的停止词列表,如english或包含停止词列表的数组。默认值为english。
参数示例
在此示例中,我们将停用词分析器配置为使用指定的单词列表作为停用单词:
PUT my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_stop_analyzer": {
"type": "stop",
"stopwords": ["the", "over"]
}
}
}
}
}
POST my_index/_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 ]
定义
- Tokenizer
- Lower Case Tokenizer
- Token filters
- Stop Token Filter
自定义示例
PUT /stop_example
{
"settings": {
"analysis": {
"filter": {
"english_stop": {
"type": "stop",
"stopwords": "_english_" (1)
}
},
"analyzer": {
"rebuilt_stop": {
"tokenizer": "lowercase",
"filter": [
"english_stop" (2)
]
}
}
}
}
}
- 可以使用stopwwords参数覆盖默认的stopwword。
- 您可以在english_stop之后添加任何token filter。