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

Фильтр токенов Keep words

Сохраняет только токены, содержащиеся в указанном списке слов.

Этот фильтр использует KeepWordFilter из Lucene.

Чтобы удалить список слов из потока токенов, используйте фильтр stop.

Пример

Следующий запрос API анализа использует фильтр keep для сохранения только токенов fox и dog из the quick fox jumps over the lazy dog.

GET _analyze
{
  "tokenizer": "whitespace",
  "filter": [
    {
      "type": "keep",
      "keep_words": [ "dog", "elephant", "fox" ]
    }
  ],
  "text": "the quick fox jumps over the lazy dog"
}

Фильтр генерирует следующие токены:

[ fox, dog ]

Настраиваемые параметры

keep_words

(Обязательно*, массив строк) Список слов для сохранения. В выходные данные включаются только токены, соответствующие словам из этого списка.

Должен быть указан либо этот параметр, либо keep_words_path.

keep_words_path

(Обязательно*, массив строк) Путь к файлу, содержащему список слов для сохранения. В выходные данные включаются только токены, соответствующие словам из этого списка.

Этот путь должен быть абсолютным или относительным к расположению config, а файл должен быть закодирован в формате UTF-8. Каждое слово в файле должно разделяться символом новой строки.

Должен быть указан либо этот параметр, либо keep_words.

keep_words_case
(Необязательно, булево) Если true, все слова в списке сохранения приводятся к нижнему регистру. По умолчанию false.

Настройка и добавление в анализатор

Чтобы настроить фильтр keep, дублируйте его, чтобы создать основу для нового пользовательского фильтра токенов. Вы можете изменить фильтр, используя его настраиваемые параметры.

Например, следующий запрос API создания индекса использует настраиваемые фильтры keep для настройки двух новых настраиваемых анализаторов:

  • standard_keep_word_array, который использует настраиваемый фильтр keep с вложенным массивом слов сохранения
  • standard_keep_word_file, который использует настраиваемый фильтр keep с файлом слов сохранения
PUT keep_words_example
{
  "settings": {
    "analysis": {
      "analyzer": {
        "standard_keep_word_array": {
          "tokenizer": "standard",
          "filter": [ "keep_word_array" ]
        },
        "standard_keep_word_file": {
          "tokenizer": "standard",
          "filter": [ "keep_word_file" ]
        }
      },
      "filter": {
        "keep_word_array": {
          "type": "keep",
          "keep_words": [ "one", "two", "three" ]
        },
        "keep_word_file": {
          "type": "keep",
          "keep_words_path": "analysis/example_word_list.txt"
        }
      }
    }
  }
}

© 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-keep-words-tokenfilter.html

Spec-Zone.ru

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