Recommended field types for writing detections on with lucene

Hey!

What are the recommended types of fields to write detections on with lucene?
I want my queries to be case insensitive but still perform exact matching and wildcarding.

Searching on text fields with wildcards produced some strange results in both ways it matched things that it shouldn't have and also missed things.

Thanks in advance!