# Using two enrich policies in one ingestion pipeline

**URL:** https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767
**Category:** Elasticsearch
**Created:** [March 16, 2020, 1:24pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767 "2020-03-16T13:24:33Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![winlamp](https://avatars.discourse-cdn.com/v4/letter/w/cdc98d/32.png) [@winlamp](https://discuss.elastic.co/u/winlamp)
#### Post date: [March 16, 2020, 1:24pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767/1 "2020-03-16T13:24:33Z")

</div>

Hi,

I'm trying to enrich one index by applying two enrich policies with two different source indices.  
Here is my approach:  
"enrich":  
[  
{  
"policy\_name": "vehicle-database-policy",  
"field" : "vehicle.id",  
"target\_field": "vehicle-db",  
"max\_matches": "1"  
},  
{  
"policy\_name": "axle-database-policy",  
"field" : "axle.id",  
"target\_field": "vehicle-db",  
"max\_matches": "1"  
}

Using just one enrich policy is working but as soon as I try to use the second policy as well i get this error:

{  
"error" : {  
"root\_cause" : [  
{  
"type" : "parse\_exception",  
"reason" : "property isn't a map, but of type [java.util.ArrayList]",  
"processor\_type" : "enrich"  
}  
],  
"type" : "parse\_exception",  
"reason" : "property isn't a map, but of type [java.util.ArrayList]",  
"processor\_type" : "enrich"  
},  
"status" : 400  
}

Any help is appreciated!  
Thx!

---

<div class="post-metadata">

### Author: ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)
#### Post date: [March 16, 2020, 1:54pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767/2 "2020-03-16T13:54:15Z")

</div>

Have you tried using two seperate enrich **processors**?

---

<div class="post-metadata">

### Author: ![winlamp](https://avatars.discourse-cdn.com/v4/letter/w/cdc98d/32.png) [@winlamp](https://discuss.elastic.co/u/winlamp)
#### Post date: [March 16, 2020, 1:54pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767/3 "2020-03-16T13:54:45Z")

</div>

Yep! Duplicate keyword enrich... Not working

---

<div class="post-metadata">

### Author: ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)
#### Post date: [March 16, 2020, 2:25pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767/4 "2020-03-16T14:25:46Z")

</div>

please share your full pipeline as a formatted snippet.

---

<div class="post-metadata">

### Author: ![winlamp](https://avatars.discourse-cdn.com/v4/letter/w/cdc98d/32.png) [@winlamp](https://discuss.elastic.co/u/winlamp)
#### Post date: [March 16, 2020, 2:28pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767/5 "2020-03-16T14:28:47Z")

</div>

PUT /\_ingest/pipeline/solution  
{  
"description" : "split and index csv files from solution",  
"processors" :  
[  
{  
"csv":  
{  
"field": "message",  
"target\_fields":[  
"@timestamp",  
"lots of fields.....",  
"even more fields"  
]  
},  
"enrich":  
[  
{  
"policy\_name": "vehicle-database-policy",  
"field" : "vehicle.rfid.id",  
"target\_field": "vehicle-db",  
"max\_matches": "1"  
},  
{  
"policy\_name": "axle-database-policy",  
"field" : "axle.axle-position",  
"target\_field": "vehicle-db",  
"max\_matches": "1"  
}  
],  
"set" :  
{

```
      "field" : "site.geoloc_point",
      "value" : "{{site.geoloc.lat}}, {{site.geoloc.lon}}"
    }
}

```

],  
"on\_failure" : [  
{  
"set" : {  
"field" : "error",  
"value" : " - Error processing message - "  
}  
}  
]  
}

---

<div class="post-metadata">

### Author: ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)
#### Post date: [March 16, 2020, 3:38pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767/6 "2020-03-16T15:38:48Z")

</div>

This is still using a single enrich processor. Try

```auto
processors: [
  {
    "enrich" : {}
  },
  {
    "enrich" : {}
  }
]

```

---

<div class="post-metadata">

### Author: ![winlamp](https://avatars.discourse-cdn.com/v4/letter/w/cdc98d/32.png) [@winlamp](https://discuss.elastic.co/u/winlamp)
#### Post date: [March 16, 2020, 3:54pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767/7 "2020-03-16T15:54:19Z")

</div>

It's not working but at least there is no error. So I think it is on my side now! That's progress!

Thx!

---

<div class="post-metadata">

### Author: ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)
#### Post date: [March 16, 2020, 4:08pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767/8 "2020-03-16T16:08:44Z")

</div>

feel free to share the output of the [Simulate Pipeline API](https://www.elastic.co/guide/en/elasticsearch/reference/7.6/simulate-pipeline-api.html) with some sample documents. Do not forget the `verbose` parameter for maximum debugging.

---

<div class="post-metadata">

### Author: ![winlamp](https://avatars.discourse-cdn.com/v4/letter/w/cdc98d/32.png) [@winlamp](https://discuss.elastic.co/u/winlamp)
#### Post date: [March 16, 2020, 4:09pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767/9 "2020-03-16T16:09:49Z")

</div>

Some minutes of head scratching and in depth comparison i found the bug. A "\_" instead of an "-" within a field name!

Now it is working as intended!  
Thx for your time!

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [April 13, 2020, 4:10pm UTC](https://discuss.elastic.co/t/using-two-enrich-policies-in-one-ingestion-pipeline/223767/10 "2020-04-13T16:10:00Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
