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

Фильтр уникальных токенов

Удаляет дублирующиеся токены из потока. Например, вы можете использовать фильтр unique, чтобы изменить the lazy lazy dog на the lazy dog.

Если параметр only_on_same_position установлен в значение true, фильтр unique удаляет только дублирующиеся токены в том же положении.

Когда only_on_same_position равен true, фильтр unique работает так же, как фильтр remove_duplicates.

Пример

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

GET _analyze
{
  "tokenizer" : "whitespace",
  "filter" : ["unique"],
  "text" : "the quick fox jumps the lazy fox"
}

Фильтр удаляет дублированные токены для the и fox, что приводит к следующему результату:

[ the, quick, fox, jumps, lazy ]

Добавление в анализатор

Следующий запрос API создания индекса использует фильтр unique для настройки нового пользовательского анализатора.

PUT custom_unique_example
{
  "settings" : {
    "analysis" : {
      "analyzer" : {
        "standard_truncate" : {
        "tokenizer" : "standard",
        "filter" : ["unique"]
        }
      }
    }
  }
}

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

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

Настройка

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

Например, следующий запрос создает пользовательский фильтр unique с параметром only_on_same_position, установленным в значение true.

PUT letter_unique_pos_example
{
  "settings": {
    "analysis": {
      "analyzer": {
        "letter_unique_pos": {
          "tokenizer": "letter",
          "filter": [ "unique_pos" ]
        }
      },
      "filter": {
        "unique_pos": {
          "type": "unique",
          "only_on_same_position": true
        }
      }
    }
  }
}

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

Spec-Zone.ru

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