Control your searches like an ADULT damn it!!!

So we have records that can have any of a bazillion different reference numbers associated with them. No big deal. Everyone does right?

Our customer's love to run reports and so we have this one option for "just look at a hell of a lot of reference numbers". I call it the 'fuck all' search.

Really it is just there to find something that you don't know where a rando string or number might be in the record and just want to do a "fuck all" search across a number of likely fields to find it... and then presumably you'd be an adult and refine your search from there. LOL yeah right...

Customers get lazy and include that stupid option in their reports and we get a lot of.

Customer: "I always run this report (that includes the fuck all search) and now it isn't working. I want records that have ID 2222."

Me: "Yeah well that was only working because you were rando typing '2222' in like several fields and it would find those .... but now you quit doing that so it won't find them. If you want ID 2222, click the drop down and search by 'ID'. That will find it right away."

Customer: "But I want to just search by 'fuck all search' to find it..."

Me: "But then you get all these other records too right?"

Customer: "Yeah but I just delete them out of the spreadsheet ... "

Me: "Look watch this <screen share> there, look all records with an ID of 2222 and no more extra records you need to delete!!! How great is that?"

Customer: "But why do I have to do it this way now, I want to do it the old way..."


(granted I could add their ID to the fuck all search but we try to avoid adding too much because it gets out of hand / stops being useful the more fuck all it gets)

  • 1
    There is no easy way imho.

    Somehow someone will always be angry.

    I usually did it by disallowing the "fuck everything search".

    Depending on the internals, a simple COUNT can be way faster than fetching all results.

    Hence, as a first step I'd do a reference / begins with (usually begins with is fast, thx to eg Bayer Moore algorithm).

    If there is really no match at all, only then the whole search.

    Otherwise the partial search with the allow search everything flag (and maybe a hint that <X> additional matches can be found)
  • 0
    @IntrusionCM yeah I really like the "additional' route.

    I've done something similar to that on a simpler product and I think it helps both train the user to not think of the data always available by default ....but still provides a nice catch all to find hard to find records.
  • 1
    @N00bPancakes there is another thing you should do.

    If possible, talk with the consumers or at least try to create a statistic about what is searched and why.

    There will always be a vale of tears (Change management), but depending on the data you've gathered, the change can be easily justified.

    Keep it simple, yet clear.

    When eg a search by reference is at ~ 30 %, ~ 70 % of it is full search.

    Then only 30 % of 70 % need to be fulfillable by a search with the string begins with logic.

    You'd be able to solve 50 % of all searches by a search that I'd expect to be 1-5 % of the usual search time (depending on factors, especially size of data).

    I'm mentioning this because most of the times the changes are costly, since searching can be quite complex.

    Sadly the nicest graph wins.

    Showing that you can reduce the time for an % of X searches down by Y % is often better than explaining why it's wrong and so on....
Add Comment