Welcome to the Hibernate Search DSL :). keyword() is used for this sort of things and the analyzer is applied. It's more keyword() vs phrase().

That being said, I'm working on the multi field version of this patch and it's becoming ugly... There are quite a lot of complex things/limitations when you're considering several fields at once.

I'm working on the technical side of things at the moment to have a working implementation but we'll have to discuss the API. And I'm more and more considering adding another method besides keyword() and phrase() for the AND implementation.

Note that this is a really common use to be able to search multiple fields with an AND (thing searching for several words in fields title and description). We do use the MultiFieldQueryParser of Lucene atm to get this working but I would prefer to use some sort of DSL for this.

I'll post a WIP patch with quite a lot of questions in it in the next few days so that we can discuss this together.

Feel free to ping me if something is unclear.