跳到主要内容

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
]
}
}
}
}
}
  1. 可以使用stopwwords参数覆盖默认的stopwword。
  2. 您可以在english_stop之后添加任何token filter。