I numbered my "features", but they really are in random order.
1. Don't assume that I entered a partial word or that you "know" better than I do what I want to search for. Specifically, if I use the search term "ord" I do not mean "order".
2. Give sufficient context into the results that I know how the page uses the terms. Having the context be part of the links going off the page is of very little value. Specifically, back to the "ord" search above, returning "http://ad.doubleclick.net/jump/%sitename%/blog;pos=%pos%;ord=123456789?" is useless.
3. Only index relevant stuff. See above ad.doubleclick.net example that should never be counted as a hit when searching for "ord".
4. Use https
5. We're addicted to speed. Results need to be returned in a reasonable time frame.
6. If I type in my search results and hit "Enter", take that as hitting the submit button.
7. Renaming the "reset" button "clean" seems like a needless change in terminology.
8. Advertisement that is relevant to the search THAT DOES NOT TRACK ME is tolerable as long as it is clear that it is advertisement. If I type in "tents for sale" I'm kind of asking for advertisements.
9. Don't track me. Don't remember me.