I know that Lucene has extensive support for wildcard searches and I know you can search for things like:
Stackover* (which will return Stackoverflow)
That said, my users aren't interested in learning a query syntax. Can Lucene perform this type of wildcard search using an out-of-box Analyzer? Or should I append "*" to every search query?
If you are considering turning every query into a wildcard, I would ask myself these questions:
Doing this with string manipulations is tricky to get right, especially since the QueryParser supports boosting, phrases, etc.
You could use a QueryVisitor that rewrites TermQuery into PrefixQuery.
The QueryVisitor class can be found at A QueryVisitor for Lucene.
Update a few years later:
The blog post is 404 since long time ago, but the source still lives! It can nowadays be found on github.
If I want to do something like that I normally format the term before searching e.g.
which will escape any special characters people have put in. and if the term doesnt ends with a space appends a * on the end. Since * on its own would cause a parsing exception.