Using the AND separators within the DataAssist Search server behavior should account for exactly this type of situation.
When I try the search like you mention in your post I see what looks like a single record returned. Perhaps you are working on this and results are varying based on some things you are trying.
The best way to troubleshoot why the search may not be returning records that it should is to print out the query that is used. This will give you a good idea about what is actually going on in the query and may hold the answer as to why you are getting these results. You can print out the query that is being executed by looking for the line that starts out like this:
You will put in a new line just after this line and add a die statement with this full variable referenced in it. The full name of this variable will depend on the table you are searching but the line you should add will look something like this:
When you add this to the results page it will print the query to the screen. If you cannot determine why the query is returning the results or is setup like you see it post back with the query and some more details about the search criteria you have crafted in the DataAssist Search server behavior.