We have the same problem, but I do see some logic in the ordering of the results. I think it's trying to sort them by some kind of confidence rating before it sorts by date. It seems to favour results found in the To (and From) fields over hits in the body, for example.
It also seems to apply some rules to multiple word searches, perhaps looking for first name and surname pairs. E.g. A search for "jfjeudnd John" finds nothing, but a search for "John mdidufbdhdzzxdw" finds lots of Johns while ignoring the second search term.
I can't explain the duplicates. Maybe these are emails it's found in multiple iterations of searching, eg it found the search terms in the To field and then later in the body.
I also suspect the ordering might be influenced by the fact that it's a live search, and is returning results as you type. I suspect you can get different ordering depending on how quickly you type.
I'd prefer to see a return of the choice of field to search. It's good that it can now search the body, but generally I know which field I want to search, and searching others as well will just add unwanted results. They can have Universal as a choice if they want, and all the people who want a list of emails they didn't want to see can choose that one.