-
Notifications
You must be signed in to change notification settings - Fork 0
/
company.team.elasticsearch.yml
89 lines (75 loc) · 2.16 KB
/
company.team.elasticsearch.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
id: elasticsearch
namespace: company.team
inputs:
- id: pokemon
type: STRING
defaults: jigglypuff
variables:
host: http://host.docker.internal:9200
tasks:
- id: extract
type: io.kestra.plugin.core.http.Request
uri: https://pokeapi.co/api/v2/pokemon/{{ inputs.pokemon }}
method: GET
- id: load
type: io.kestra.plugin.elasticsearch.Put
connection:
hosts:
- "{{ vars.host }}"
index: local
key: "{{ inputs.pokemon }}"
value: "{{ outputs.extract.body }}"
- id: parallel
type: io.kestra.plugin.core.flow.Parallel
tasks:
- id: search
type: io.kestra.plugin.elasticsearch.Search
connection:
hosts:
- "{{ vars.host }}"
indexes:
- local
request:
query:
term:
name:
value: "{{ inputs.pokemon }}"
- id: scroll
type: io.kestra.plugin.elasticsearch.Scroll
connection:
hosts:
- "{{ vars.host }}"
indexes:
- local
request:
query:
term:
name:
value: "{{ inputs.pokemon }}"
extend:
title: Load and search data using Elasticsearch
description: >-
This flow will extract data from the Pokemon API and will load it to a given
Elasticsearch index.
To validate that data has been successfully stored and indexed in
Elasticsearch, you can perform search looking up that Pokemon by name.
To test this flow, you can start Elasticsearch in a Docker container:
```
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e
"discovery.type=single-node" elasticsearch:7.10.2
```
For Apple Silicon macs, you can use the following command to start
Elasticsearch in a Docker container:
```
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e
"discovery.type=single-node"
docker.elastic.co/elasticsearch/elasticsearch:7.10.2
```
tags:
- Inputs
- Ingest
- Parallel
ee: false
demo: false
meta_description: This flow will extract data from the Pokemon API and will load
it to a given Elasticsearch index.