Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Отображение ›Типы данных полей

Тип поля версии

Тип поля version является специализацией поля keyword для обработки значений программной версии и поддержки специализированных правил приоритета для них. Приоритет определяется в соответствии с правилами, описанными в Semantic Versioning, что, например, означает, что основные, второстепенные и дополнительные части версии сортируются по числовому значению (т.е. "2.1.0" < "2.4.1" < "2.11.2") и предварительные версии сортируются перед релизными версиями (т.е. "1.0.0-alpha" < "1.0.0").

Вы индексируете поле version следующим образом

PUT my-index-000001
{
  "mappings": {
    "properties": {
      "my_version": {
        "type": "version"
      }
    }
  }
}

Это поле предоставляет те же возможности поиска, что и обычное поле keyword. Например, его можно искать на точное совпадение с помощью запросов match или term и поддерживает поиск по префиксу и по маске. Основное преимущество заключается в том, что запросы range будут учитывать порядок Semver, поэтому запрос range между "1.0.0" и "1.5.0" будет включать версии "1.2.3", но не "1.11.2", например. Обратите внимание, что это будет отличаться при использовании обычного поля keyword для индексации, где порядок является алфавитным.

Ожидается, что программные версии будут соответствовать схеме правилам Semantic Versioning и правилам приоритета, за исключением того, что допускается больше или меньше трех основных идентификаторов версии (т.е. "1.2" или "1.2.3.4" считаются допустимыми версиями, в то время как они не соответствуют строгим правилам Semver). Строки версий, которые не являются допустимыми в соответствии с определением Semver (например, "1.2.alpha.4"), все равно можно индексировать и получать в точном соответствии, однако они все будут отображаться *после* любой допустимой версии с обычным алфавитным порядком. Пустая строка "" считается недопустимой и сортируется после всех допустимых версий, но перед другими недопустимыми.

Параметры для полей версии

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

meta

Метаданные о поле.

Ограничения

Этот тип поля не оптимизирован для сложных поисков по маске, регулярным выражениям или приблизительным совпадениям. Хотя такие запросы работают в этом поле, вам следует рассмотреть использование обычного поля keyword, если вы сильно полагаетесь на этот вид запросов.

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

Spec-Zone.ru

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