<p dir="auto">Aggregations, Filters, Builders all have some form of a Bounding Box implementation. This task is to consolidate all of these duplicate "rogue" classes into one (possibly in GeoUtils).</p>
<p dir="auto">Note: this consolidation could eventually be replaced w/ an integration of the Apache SIS geometry package and using the Envelope geometry.</p>
<p dir="auto">Validation of index templates has proven difficult to get right due to how multiple templates that might be invalid on their own can result in a valid template in the end, for instance if two templates match a given index name and one of them is providing analysis index settings while the other one is providing mappings that make use of these analyzers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="176916600" data-permission-text="Title is private" data-url="https://github.com/elastic/elasticsearch/issues/20479" data-hovercard-type="issue" data-hovercard-url="/elastic/elasticsearch/issues/20479/hovercard" href="https://github.com/elastic/elasticsearch/issues/20479">#20479</a>)</p>
<p dir="auto">The fact that we cannot validate index templates is not good, so I think we need to think about how we could validate them all the time without false positives. We were discussing this issue yesterday and the following options have been suggested:</p>
<ul dir="auto">
<li>Require that templates are valid on their own. In that case we might also want to remove the ability for several templates to match an index, as several templates could be merged into an invalid one (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="183629456" data-permission-text="Title is private" data-url="https://github.com/elastic/elasticsearch/issues/20988" data-hovercard-type="issue" data-hovercard-url="/elastic/elasticsearch/issues/20988/hovercard" href="https://github.com/elastic/elasticsearch/issues/20988">#20988</a>).</li>
<li>Make the inheritance of templates explicit: instead of merging templates together based on <code class="notranslate">order</code>, a template could refer to other templates that should be included in order to not have to repeat the same bits over multiple templates. And again, we would probably only allow one template to be applied per index.</li>
</ul>