Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Анализ текста ›Справочник по встроенным анализаторам

Анализатор stop

Анализатор stop аналогичен анализатору simple, но дополнительно поддерживает удаление стоп-слов. По умолчанию используются стоп-слова _english_.

Пример вывода

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 принимает следующие параметры:

stopwords

Список предопределённых стоп-слов, например, _english_, или массив, содержащий список стоп-слов. По умолчанию используется _english_.

stopwords_path

Путь к файлу, содержащему стоп-слова. Путь является относительным к каталогу Elasticsearch config.

Дополнительную информацию о настройке стоп-слов см. в разделе Фильтр стоп-слов.

Пример конфигурации

В этом примере анализатор stop настраивается для использования указанного списка слов в качестве стоп-слов:

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, который можно использовать в качестве отправной точки для дальнейшей настройки:

PUT /stop_example
{
  "settings": {
    "analysis": {
      "filter": {
        "english_stop": {
          "type":       "stop",
          "stopwords":  "_english_" 
        }
      },
      "analyzer": {
        "rebuilt_stop": {
          "tokenizer": "lowercase",
          "filter": [
            "english_stop"          
          ]
        }
      }
    }
  }
}

Значения по умолчанию для стоп-слов можно переопределить параметрами stopwords или stopwords_path.

Любые фильтры токенов добавляются после english_stop.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/analysis-stop-analyzer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API