e se invece di avere piu' input, ne utilizzi una sola, e per creare la query utilizzi la classe MultiFieldQueryParser...?

la classe MultiFieldQueryParser exstende QueryParser quindi ha un metodo:

setDefaultOperator

public void setDefaultOperator(QueryParser.Operator op)

Sets the boolean operator of the QueryParser. In default mode (OR_OPERATOR) terms without any modifiers are considered optional: for example capital of Hungary is equal to capital OR of OR Hungary.
In AND_OPERATOR mode terms are considered to be in conjuction: the above mentioned query is parsed as capital AND of AND Hungary

tu in fase di ricerca quando nella stringa cercata trovi AND fai un setDefaultOperator(multiFieldQueryParser.AND_OPERA TOR)
invece quandop trovi OR fai un
setDefaultOperator(multiFieldQueryParser.OR_OPERAT OR)

prova cosi'...