`clear` is fine with me.

I am uncertain about setting the defaults based on a call to the `search` method; do you set the defaults only if defaults aren't set already (which could be surprising) or do you overwrite the defaults unconditionally (which could also be surprising)? Perhaps an `set_search_defaults` parameter to `search` could make that explicit?