Indexação por Tags!?

Bom dia galera,
Estou desenvolvendo um sistema web(JSP & Servlets) padrao MVC, para cadastro e busca de candidatos e vagas de emprego.
Basicamente o sistema consiste:

Cadastro de um currículo(com competências do candidato(lógica, php, C#))
Cadastro de vagas(com requisitos da vaga(java,php,lógica))

Preciso implementar uma indexação dos currículos e vagas por << Tags>>. Tipo no momento que cadastrar currículo ou vaga permitir ao usuário associar seu currículo/vaga a alguma tag Ex.(java, Uml, programador C#). Para numa futura busca permitir que a mesma possa ser baseada nessas tags

Minha idéia:
No momento do cadastro do curriculo ou da vaga, disponibilizar ao usuário um input(text) onde ele possa digitar uma String. Isso seria persistido numa tabela de banco associado ao Id da vaga/curriculo.

Estou meio perdido e gostaria de uma auxilio se alguém já fez algo do tipo? Se estou no caminha certo?Se existe algo que trate especificamente sobre isso.

Agradeço a todos,
Marciano

Acho que é mais fácil vc criar uma tabela para o banco:
tb_tags
iCodigo int, iCodPessoa int, tag varchar

Para ficar mais organizado vc pode criar 1 tabela para as tags, e uma tag_pessoas.

Opa Castiel,
Valeu pela resposta brother,

Meu sistema terá 2 tipos de usuarios:

pessoa fisica( cadastra curriculo)
pessoa juridica(cadastra vaga de emprego)

Não entendi tua ideia tipo, tags e tags pessoa?

Estava seguindo o seguinte raciocínio

Criar uma unica tabela no banco
tab_tags
iCodigo int, tag Varchar , iCodOrigem int, iCodIdentificador varchar(1)

  • iCodOrigem = codigo do curriculo ou da vaga
    iCodIdentficador =( C )= Tag Curriculo ( V )= Tag Vaga

Acho de extrema importancia a opinião/sugestão tendo em vista que sou iniciante…

Um problema que pode ter é deixar o campo tag editável, é que uma pessoa pode escrever java, javaa, jva, na hora de trazer os dados é sempre um problema, geralmente nesses casos usamos tabelas N para N:

pessoaFisica

iPFisica
Nome
etc

pessoaJuridica

iPJuridica
Nome
etc

tags

iTags (aqui o codigo da tag)
descricao (aqui a descrição da tag, tipo java, c, c++, cozinheiro, motorista, etc)

tags_pessoas (a tabela N : N)

iTagPessoa(codigo da tag pessoa)
iPessoa (chave estrangeira com pessoa)
iTag (codigo da tag que o empregador ou o empregado escolheu)
referente (aqui vc diferencia se está salvando um pessoa fisica ou juridica, a mesa idéia de ‘C’ e ‘V’ que vc falou)

Beleza cara, boa sacada sobre o não permitir o campo editável.
E para uma futura consulta a vagas ou curriculos associadas a determinadas Tags eu faria um(sql) baseado em LIKE ou teria alguma forma mais eficiente e com melhor desempenho?

Grato cara,

vc pode fazer a consulta pelo indice da tag, hora que o usuário escolher qual a tag que ele que pesquisar os curriculos ou vagas, vc usa o indice da tag para fazer o select, fica mais rápido do que com like.

Grande Castiel

Obrigado por te me ajudado solucionar essa dúvida…

Saudações…