# Best practices for indexing and mapping Brazilian postal code (CEP) datasets in Elasticsearch

**URL:** <https://discuss.elastic.co/t/best-practices-for-indexing-and-mapping-brazilian-postal-code-cep-datasets-in-elasticsearch/391195>\
**Category:** Kibana\
**Tags:** search\
**Created:** [October 26, 2026, 1:27pm UTC](https://discuss.elastic.co/t/best-practices-for-indexing-and-mapping-brazilian-postal-code-cep-datasets-in-elasticsearch/391195 "2026-10-26T13:27:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![EmmettSinclair](https://avatars.discourse-cdn.com/v4/letter/e/d07c76/32.png) [@EmmettSinclair](https://discuss.elastic.co/u/EmmettSinclair)\
**Post date:** [October 26, 2026, 1:27pm UTC](https://discuss.elastic.co/t/best-practices-for-indexing-and-mapping-brazilian-postal-code-cep-datasets-in-elasticsearch/391195/1 "2026-10-26T13:27:17Z")

</div>

Hi Elastic Community,

We are designing an Elasticsearch index mapping for Brazilian postal code (CEP) data to support fast address lookups and geo-location auto-complete features.

During development, we parse 8-digit CEP strings along with standard Brazilian address fields (logradouro, bairro, cidade, estado, and IBGE codes) and test payload validation against reference endpoints such as [https://cep-br.com](https://cep-br.com).

Since CEP numbers contain leading zeros (e.g., `01001-000`), storing them as numeric types causes zero-stripping issues, so we map them as `keyword`.

However, we want to optimize search latency when executing fuzzy queries across street names and city names alongside exact CEP match filters.

What are the recommended mapping strategies (e.g., edge\_ngram analyzers vs keyword sub-fields) and query optimization practices in Elasticsearch/Kibana for handling high-throughput postal/address lookup datasets?

Any insights or index template examples would be greatly appreciated!
