We have a search scenario where the user should be able to do a search based on four inputs, three being 'optional' text inputs and the fourth one being a select box
We came with below three approaches for this
Approach 1: Just inputs and results are shown in most relevant order i.e. if the user inputs one and two and three -
the results matching (one AND two AND three) are shown first, next (one AND two) , next (two AND three),then the results matching only one, only two, only three and so on...
Approach 2: Give an extra input to the user asking for search preference - whether the results should be based on AND or OR - so if the user has values entered in one and two,provided an option in four and if AND is selected - the results will be matching on (one AND two AND four)
if OR is selected - the results will be matching on (one OR two OR four)
Approach 3: More advanced search - where AND or OR criteria can be provided for each input
The end users for the application are business consultants with no math background and we want to make the application usable without any special training.
My personal choice is approach 1 - which is way cleaner and most relevant results are shown first- without the need to do much explaining to the end user...
Given there is no impact on search performance whatever the approach we take, what is the best approach out of these three? or is there any other way to do it better?