improve search

- prioritize exact matches of words, either in name or terms
- prioritize fuzzy name matches over fuzzy term matches
- reduce max difference to 2