mapper-size

Плагин mapper-size позволяет использовать поле _size в индексах OpenSearch. Поле _size хранит размер каждого документа в байтах.

Установка плагина

Вы можете установить плагин mapper-size, используя следующую команду:

$$./bin/opensearch-plugin install mapper-size$$

Примеры

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

Создание индекса с включенным отображением размера

curl -XPUT example-index -H "Content-Type: application/json" -d '{
  "mappings": {
    "_size": {
      "enabled": true
    },
    "properties": {
      "name": {
        "type": "text"
      },
      "age": {
        "type": "integer"
      }
    }
  }
}'

Индексация документа

curl -XPOST example-index/_doc -H "Content-Type: application/json" -d '{
  "name": "John Doe",
  "age": 30
}'

Запрос к индексу

curl -XGET example-index/_search -H "Content-Type: application/json" -d '{
  "query": {
    "match_all": {}
  },
  "stored_fields": ["_size", "_source"]
}'

Результаты запроса

В следующем примере поле _size включено в результаты запроса и показывает размер индексированного документа в байтах:

{
  "took": 2,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 1,
      "relation": "eq"
    },
    "max_score": 1.0,
    "hits": [
      {
        "_index": "example_index",
        "_id": "Pctw0I8BLto8I5f_NLKK",
        "_score": 1.0,
        "_size": 37,
        "_source": {
          "name": "John Doe",
          "age": 30
        }
      }
    ]
  }
}