I find the DismaxRequestHandler perfect for matching multiple fields, matching phrases in other/subset of fields, weighting the different matches. It's powerful and fast. You can define several DismaxRequestHandlers if you want to offer different kinds of "search areas" to the user (e.g. search for street, search for name, search for a product etc. and if you'd be wanting to weigh matches differently depending on the kind of search).
Cheers, Chantal >> I also want to match multiple fields at once. > > Can you give an example? I enter "Kreuz" but this could either be part of a persons name or of a street name, which are separate fields in my index mainly because they analyzed differently (person name using doublemetaphone and street name using word splitting to extract relevant parts for better matching).