Lucene não está fazendo busca por Termo

Preciso que o lucene recupere para min uma lista de alunos com os seguintes criterios :

  1. alunos do curso de computação ou enfermagem
  2. que fala sobre sistemas de informação
  3. que é do tipo aluno

a query que estou escrevendo é essa :

String query = " ( sistemas de informação ) AND ( ( CURSO:COMPUTACAO ) OR ( CURSO:ENFERMAGEM ) ) AND ( USER_TYPE:ALUNO )";

O problema que estou tendo, acredito, que é pq o lucene nao ta pesquisando pelos criterios curso e tip usuario.
Quando tento consultar assim :

String query = "( sistemas de informação ) AND  ID:9 ";

Ele traz resultado.

O meu codigo de indexação esta abaixo :

Document document = new Document();
			
			System.out.println("Iniciando Indexação Bloco-ID:"+bloco.getId());
			
			Field idField = new Field("ID",bloco.getId().toString(),Field.Store.YES,Field.Index.NOT_ANALYZED);
			document.add(idField);
			
			Field userTypeField = new Field("USER_TYPE",bloco.getUserType().toString(),Field.Store.YES,Field.Index.NOT_ANALYZED);
			document.add(userTypeField);
			
			for (String curso : bloco.getCursos() ) {
				Field cursoField = new Field("CURSO",curso,Field.Store.YES,Field.Index.NOT_ANALYZED);
				document.add(cursoField);
			}
			
			Field textosField = new Field("conteudo",StringUtils.removerNaoLetras(bloco.getTextos().toString()),Field.Store.NO,Field.Index.ANALYZED);
			document.add(textosField);
			
			writer.addDocument(document);
			

O de busca :

String consulta = q;
		Version v = Version.LUCENE_30;
		
		File file = new File(INDEX_USR);
		Directory directory = new SimpleFSDirectory(file);

		IndexSearcher is = new IndexSearcher(directory);
		
		Analyzer analyzer = new BrazilianAnalyzer(v);
		
		QueryParser parser = new QueryParser(v, "conteudo", analyzer);
		Query query = parser.parse(consulta);
		
		long  start = System.currentTimeMillis();
		
		TopDocs hits = is.search(query, 10);
		
		long end = System.currentTimeMillis();
		
		System.err.println("Found " + hits.totalHits + " document(s) (in " + ( end - start) + " milliseconds) that matched query : \"" + q + "\"");
		
		List<String> result = new ArrayList<String>();
		
		for (int i = 0 ; i <  hits.scoreDocs.length ; i++ ) {
			ScoreDoc scoreDoc = hits.scoreDocs[0];
			Document doc = is.doc(scoreDoc.doc);
			
			result.add(doc.get("ID"));	
		}
		
		is.close();
		
		return result;

INDEX_USR é o diretorio onde guardo os indices.

Ei chapa onde encontro um material legal pra saber como trabalhar com o Lucene?