# Percolators and index.mapper.dynamic = false

**URL:** <https://discuss.elastic.co/t/percolators-and-index-mapper-dynamic-false/11639>\
**Category:** Elasticsearch\
**Created:** [April 19, 2013, 9:21am UTC](https://discuss.elastic.co/t/percolators-and-index-mapper-dynamic-false/11639 "2013-04-19T09:21:46Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ollie](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ollie/32/1299_2.png) [@Ollie](https://discuss.elastic.co/u/Ollie)\
**Post date:** [April 19, 2013, 9:21am UTC](https://discuss.elastic.co/t/percolators-and-index-mapper-dynamic-false/11639/1 "2013-04-19T09:21:46Z")

</div>

Hi,

We're using both the searching and percolator features within Elastic  
Search. Due to having custom index settings and mappings which we always  
want to ensure get set, we have both action.auto\_create\_index  
and index.mapper.dynamic set to false, so that indexes and types only get  
created when we explicitly do so, and with our settings and mappings.

However, we have discovered that the \_percolator index has also picked up  
these properties, and so we can no longer automatically create new  
percolator mappings. This makes sense - it's just following the config -  
but is undesirable. We _could_ hard code the mapping (as stolen from  
existing percolator mappings) in to our application and put it if it  
doesn't exist, but we'd rather Elastic Search took care of it as it is  
really part of it's internals, and I guess may change in the future?

Therefore, is there any way to explicitly set in the config file that we  
want index.mapper.dynamic for the \_percolotors index to be true? I  
appreciate we could apply this to the index at runtime through the API, but  
this requires us to remember to do it if and when we build a new cluster.  
If we could put something in the config to ensure this is always the case  
that'd be great. I've explored the pattern based while/black list  
functionality, but it all seems to be based around the mapping name, not  
the index name?

Hoping someone can shed some light on a possible solution here.

Thanks in advance,

Ollie

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [April 22, 2013, 9:29pm UTC](https://discuss.elastic.co/t/percolators-and-index-mapper-dynamic-false/11639/2 "2013-04-22T21:29:41Z")

</div>

You can add a template for the \_percolator index that would override the  
setting. All you need to do is to create file  
config/templates/percolator\_template.json with the following content:

{  
"percolator\_template" : {  
"template" : "\_percolator",  
"settings" : {  
"index.mapper.dynamic": true  
}  
}  
}

On Friday, April 19, 2013 11:21:46 AM UTC+2, Ollie wrote:

> Hi,
> 
> We're using both the searching and percolator features within Elastic  
> Search. Due to having custom index settings and mappings which we always  
> want to ensure get set, we have both action.auto\_create\_index  
> and index.mapper.dynamic set to false, so that indexes and types only get  
> created when we explicitly do so, and with our settings and mappings.
> 
> However, we have discovered that the \_percolator index has also picked up  
> these properties, and so we can no longer automatically create new  
> percolator mappings. This makes sense - it's just following the config -  
> but is undesirable. We _could_ hard code the mapping (as stolen from  
> existing percolator mappings) in to our application and put it if it  
> doesn't exist, but we'd rather Elastic Search took care of it as it is  
> really part of it's internals, and I guess may change in the future?
> 
> Therefore, is there any way to explicitly set in the config file that we  
> want index.mapper.dynamic for the \_percolotors index to be true? I  
> appreciate we could apply this to the index at runtime through the API, but  
> this requires us to remember to do it if and when we build a new cluster.  
> If we could put something in the config to ensure this is always the case  
> that'd be great. I've explored the pattern based while/black list  
> functionality, but it all seems to be based around the mapping name, not  
> the index name?
> 
> Hoping someone can shed some light on a possible solution here.
> 
> Thanks in advance,
> 
> Ollie

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<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:** [July 6, 2017, 2:40am UTC](https://discuss.elastic.co/t/percolators-and-index-mapper-dynamic-false/11639/3 "2017-07-06T02:40:03Z")

</div>

Closed on July 6, 2017, 2:40am UTC


