Skip to content

O schema de dados OpenSearch está inconsistente #124

@pitangainnovare

Description

@pitangainnovare

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

  1. Processar logs de acesso e gerar documentos nos índices usage_monthly_* e usage_yearly_*.
  2. Consultar o mapping e amostras de documentos dos índices yearly.
  3. Observar campos de granularidade mensal/diária em índices anuais, quando presentes.
  4. Tentar usar campos textuais relevantes em ordenações ou agregações.
  5. 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_*

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions