Dúvida sobre organização dos índices e arquivos no ElasticSearch

Atualmente tenho uma aplicação em um banco de dados SQL Server.
São dados de currículos e vagas.
Analisei as possibilidades e vi que o ElasticSearch é a melhor opção para realizar as buscas dos dados.
Porém estou com uma dúvida na questão de organização dos dados:
Tenho o currículo do candidato e está relacionado com cerca de 6 tabelas. Nesse caso eu teria que juntar os dados de todos os relacionamentos em um único arquivo, onde o currículo completo seria um arquivo no ElasticSearch?

A outra pergunta seria o seguinte:
Os candidatos podem enviar seu currículo para as vagas, no banco de dados tenho uma tabela “Inscricoes” que ficam armazenados os IDs dos currículos inscritos. Nesse caso eu posso criar um índice diferente pra essas inscrições e cada inscrição um arquivo somente com o ID do currículo? Depois teria como fazer um relacionamento com esses índices e arquivos, por exemplo: quero somente os curriculos inscritos para a vaga X.

Obrigado pela atenção.

Oi, Murilo! Tudo bem? Vamos as suas dúvidas:

1- se todos os dados dessas tabelas compõe uma única entidade conceitualmente (currículo), acho que pode ser interessante sim essa estratégia de combinar tudo em um único documento, desde que é claro isso não seja muito pesado na performance da query, dê uma olhada na documentação do logstash o plugin de database deles e use para a sua solução;

2- nesse caso é melhor que você use os dois tipos de dados em um mesmo índice e defina que os documentos possuem um relacionamento pai e filho, dê uma olhada por favor no capítulo de elasticsearch avançado que eu explico em mais detalhes, blz?

Abs

1 curtida

Obrigado pela ajuda Alexandre.
Estou fazendo os testes aqui com o livro e se houver mais dúvidas entro em contato :smiley:
Abraços!