Home / Documentation / REST APIs / Bulk Models API
Bulk Models API
Performs multiple Models API operations in series.
Supported operations include:
"create",
"update",
"delete"
POST _zentity/models/_bulk
{ OPERATION: PARAMETERS }
ENTITY_MODEL
...
The _bulk endpoint requires NDJSON syntax. The payload
consists of pairs of lines. Each pair represents a single operation. The first
line of the pair describes the operation and its parameters. The second line
contains the entity model, or an empty
object ({}) for "delete" operations. Each line must be an unindented JSON
object.
The supported values for OPERATION are:
Example Request
This example performs three Models API operations
in series. The first request creates an empty entity model for a "person"
entity type. The second operation updates the entity model by adding an
attribute called "first_name". The third operation deletes the entity model.
POST _zentity/models/_bulk
{"create":{"entity_type":"person"}}
{"attributes":{},"resolvers":{},"matchers":{},"indices":{}}
{"update":{"entity_type":"person"}}
{"attributes":{"first_name":{}},"resolvers":{},"matchers":{},"indices":{}}
{"delete":{"entity_type":"person"}}
{}
Example Response
{
"took": 208,
"errors": false,
"items": [
{
"create": {
"_index": ".zentity-models",
"_id": "person",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 3
}
},
{
"update": {
"_index": ".zentity-models",
"_id": "person",
"_version": 2,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 3
}
},
{
"delete": {
"_index": ".zentity-models",
"_id": "person",
"_version": 3,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 1,
"_primary_term": 3
}
}
]
}
HTTP Headers
| Header | Value |
|---|---|
Content-Type |
application/x-ndjson |
URL Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
pretty |
Boolean | false |
No | Indents the JSON response data. |
Notes
The _bulk endpoint optimizes performance in three ways:
- Ensures the existence of the
.zentity-modelsindex just once before running the operations - Refreshes the
.zentity-modelsindex once after running the operations. - Minimizes the network latency that would have occurred from multiple single requests between the client and Elasticsearch.
Continue Reading
| ‹ | Models API | Resolution API | › |
|---|---|---|---|