Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Mapping ›Типы данных поля

Тип поля счётчика токенов

Поле типа token_count на самом деле является полем integer, которое принимает строковые значения, анализирует их, а затем индексирует количество токенов в строке.

Например:

PUT my-index-000001
{
  "mappings": {
    "properties": {
      "name": { 
        "type": "text",
        "fields": {
          "length": { 
            "type":     "token_count",
            "analyzer": "standard"
          }
        }
      }
    }
  }
}

PUT my-index-000001/_doc/1
{ "name": "John Smith" }

PUT my-index-000001/_doc/2
{ "name": "Rachel Alice Williams" }

GET my-index-000001/_search
{
  "query": {
    "term": {
      "name.length": 3 
    }
  }
}

Поле name является полем text, использующим анализатор по умолчанию standard.

Поле name.length является token_count мультиполем, которое будет индексировать количество токенов в поле name.

Этот запрос соответствует только документу, содержащему Rachel Alice Williams, поскольку он содержит три токена.

Параметры для полей token_count

Следующие параметры принимаются полями token_count:

analyzer

Анализатор, который следует использовать для анализа строкового значения. Требуется. Для лучшей производительности используйте анализатор без фильтров токенов.

enable_position_increments

Указывает, должны ли учитываться инкременты позиции. Установите в false, если вы не хотите считать токены, удаленные фильтрами анализатора (например, stop). По умолчанию true.

boost

Усиление запроса на уровне поля. Принимает число с плавающей точкой, по умолчанию 1.0.

doc_values

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

index

Должно ли поле быть доступным для поиска? Принимает true (по умолчанию) и false.

null_value

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

store

Нужно ли хранить значение поля отдельно от поля _source? Принимает true или false (по умолчанию).

© 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/token-count.html

Spec-Zone.ru

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