apoc.es.post
Procedure Apoc Extended
apoc.es.post(host-or-key,index-or-null,type-or-null,query-or-null,payload-or-null,$config) yield value - perform a POST operation on elastic search
Signature
apoc.es.post(host :: STRING?, index :: STRING?, type :: STRING?, query :: ANY?, payload = {} :: MAP?, config = {} :: MAP?) :: (value :: MAP?)
Input parameters
Name | Type | Default |
---|---|---|
host |
STRING? |
null |
index |
STRING? |
null |
type |
STRING? |
null |
query |
ANY? |
null |
payload |
MAP? |
{} |
config |
MAP? |
{} |
Usage Examples
The examples in this section are based on the following Elastic instance:
version: '3.5'
services:
elastic:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
ports:
- 9200:9200
- 9300:9300
environment:
- discovery.type=single-node
with a dataset created by downloading this file, and executing the command:
curl -H 'Content-Type: application/json' -XPOST 'localhost:9200/bank/_bulk?pretty&refresh' --data-binary '@accounts.json'
We can create a document with a name
property of John Doe
in the customers
index, by running the following query:
CALL apoc.es.post("localhost","customers","_doc", null, {
name: "John Doe"
});
value |
---|
{result: "created", _shards: {total: 2, failed: 0, successful: 1}, _seq_no: 4, _index: "customers", _type: "_doc", _id: "Im4w_3UBi9jUSsIzV4Js", _version: 1, _primary_term: 1} |
Elastic will generate an _id
value for us when we use apoc.es.post
.
If we want to provide an id, or update an existing document, see apoc.es.put.