Fazer busca a cada keyup em um input (JSF)

Estou querendo implementar uma nova ferramenta no meu sistema de teste.Creio ser simples, mas não sei como fazer. Digamos que tenho uma tabela no BD chamada Alunos, e esta tabela possui as colunas matrícula e nome.

Gostaria que quando o usuário digitasse ou a matrícula ou o nome, a cada keyup, buscasse e trouxesse abaixo do input as opções, e que esta opções só começassem a aparecer após digitar 3 caracteres, sendo possível que o usuário selecionasse ali o Aluno escolhido.

Estou carregando automaticamente pelo Bean, a tabela aluno e jogando dentro de uma lista de String, na qual concateno a matricula com o nome. Então essa busca pode ser feita nessa lista.

Caso esteja usando o primefaces, acho que ele possui um componente para isso.