Descrição do problema
O mapeamento dos índices de métricas no OpenSearch apresenta inconsistências para uso analítico:
- índices
yearly podem carregar ou expor campos de granularidade mensal/diária, como access_month, daily_metrics ou estruturas equivalentes de dia, que não fazem sentido em agregações anuais;
- alguns campos textuais necessários para visualização, ordenação ou agregação não possuem subcampo
keyword.
Isso dificulta análises consistentes entre índices monthly e yearly e pode gerar campos ambíguos ou pouco úteis nas visualizações (uma infinidade de campos vazios, por exemplo)
Passos para reproduzir o problema
- Processar logs de acesso e gerar documentos nos índices
usage_monthly_* e usage_yearly_*.
- Consultar o mapping e amostras de documentos dos índices
yearly.
- Observar campos de granularidade mensal/diária em índices anuais, quando presentes.
- Tentar usar campos textuais relevantes em ordenações ou agregações.
- Observar que alguns campos não possuem variante
.keyword.
Comportamento esperado
Os índices yearly devem conter apenas campos compatíveis com granularidade anual.
Em especial, documentos yearly devem usar access_year e não devem conter:
access_month
daily_metrics
by_day
- qualquer estrutura equivalente de métricas por dia
Campos textuais usados em filtros, ordenação, agregação ou visualizações devem possuir mapeamento adequado, preferencialmente text + keyword quando também forem pesquisáveis.
Screenshots ou vídeos
N/A
Anexos
N/A
Ambiente utilizado
Ambiente local de desenvolvimento:
- Django 5.2 / Wagtail 7.3
- Pipeline de métricas COUNTER-5
- OpenSearch local
- Índices afetados:
usage_monthly_*
usage_yearly_*
Descrição do problema
O mapeamento dos índices de métricas no OpenSearch apresenta inconsistências para uso analítico:
yearlypodem carregar ou expor campos de granularidade mensal/diária, comoaccess_month,daily_metricsou estruturas equivalentes de dia, que não fazem sentido em agregações anuais;keyword.Isso dificulta análises consistentes entre índices
monthlyeyearlye pode gerar campos ambíguos ou pouco úteis nas visualizações (uma infinidade de campos vazios, por exemplo)Passos para reproduzir o problema
usage_monthly_*eusage_yearly_*.yearly..keyword.Comportamento esperado
Os índices
yearlydevem conter apenas campos compatíveis com granularidade anual.Em especial, documentos
yearlydevem usaraccess_yeare não devem conter:access_monthdaily_metricsby_dayCampos textuais usados em filtros, ordenação, agregação ou visualizações devem possuir mapeamento adequado, preferencialmente
text + keywordquando também forem pesquisáveis.Screenshots ou vídeos
N/A
Anexos
N/A
Ambiente utilizado
Ambiente local de desenvolvimento:
usage_monthly_*usage_yearly_*