apoc.es.post
过程 Apoc 扩展
apoc.es.post(host-or-key,index-or-null,type-or-null,query-or-null,payload-or-null,$config) yield value - 在 elastic search 上执行 POST 操作
签名
apoc.es.post(host :: STRING?, index :: STRING?, type :: STRING?, query :: ANY?, payload = {} :: ANY?, config = {} :: MAP?) :: (value :: MAP?)
输入参数
| 名称 | 类型 | 默认 |
|---|---|---|
host |
STRING? |
null |
index |
STRING? |
null |
type |
STRING? |
null |
query |
ANY? |
null |
payload |
MAP? |
{} |
config |
MAP? |
{} |
使用示例
本节中的示例基于以下 Elastic 实例
version: '3.5'
services:
elastic:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
ports:
- 9200:9200
- 9300:9300
environment:
- discovery.type=single-node
该实例的数据集通过下载 此文件 并执行命令创建
curl -H 'Content-Type: application/json' -XPOST 'localhost:9200/bank/_bulk?pretty&refresh' --data-binary '@accounts.json'
我们可以通过运行以下查询,在 customers 索引中创建一个 name 属性为 John Doe 的文档
CALL apoc.es.post("localhost","customers","_doc", null, {
name: "John Doe"
});
| 值 |
|---|
{result: "created", _shards: {total: 2, failed: 0, successful: 1}, _seq_no: 4, _index: "customers", _type: "_doc", _id: "Im4w_3UBi9jUSsIzV4Js", _version: 1, _primary_term: 1} |
当我们使用 apoc.es.post 时,Elastic 会自动为我们生成一个 _id 值。如果我们想要指定 id,或更新现有文档,请参阅 apoc.es.put。