100

From the view of the user (not from a technical view)- What are the main differences between searching and filtering data, in order to get specific results?

i.e.- in both cases the user is looking for specific data so why should he care which method is used to find it?...

would you say these two methods are mostly the same (in the eyes of the user)?

If not- when would you use each?

19 Answers 19

135

Very short answer (time pressed!):

Filtering takes an existing full list, and removes items based on criteria that match/don't match.

Search takes a blank slate and adds to it based on criteria that match/don't match.

2
  • This sums it up perfectly for me! Jan 13, 2010 at 9:58
  • I would add that from the user's point of view, search is immediate, cf. Google. Jan 18, 2018 at 16:51
18

I like Alastair's answer, but to add a bit to it.

Filter: Only filters based on a single criteria, such as the name and leaves the ordering intact.

Search: Applies all metadata and complex algorithms to the search such as boosting. Search is more complex, because you have to rank the best results first. (example: Google) Filtering doesn't care about that.

3
  • 2
    @Glen, the bit about ranking the best first is kind of wrong :). OK, Google web search does that, but there are other ways, it has nothing to do with the concept of search itself. Desktop searches usually present "first found first". Systems that present results in a grid often use current sorting to display results. Some geographical apps even present "closest first". Apr 16, 2011 at 4:30
  • 3
    @VitalyMijiritsky What it means to be the 'best' result is never specified in this answer. In your examples, the definition of best could respectively be the first found result and the geographically closest result. May 2, 2016 at 15:53
  • By boosting do you mean machine learning boosting? en.wikipedia.org/wiki/Boosting_(machine_learning)
    – icc97
    Mar 2, 2018 at 8:42
15

Another take: in most circumstances, particularly when the task is not a known-item query, searchers don't know the precise keywords they need to type in order to acquire their target. So although the mechanism or function they are using is a "search", actually they want to explore and browse the information space. Jared Spool and UIE have explored this topic

Filtering - if we are talking about iterative, faceted search - allows users to enter a vague term and then iteratively refine it. This is the "Paradox of the active user" in action.

These "active users" don't have time to learn about the information space so they go ahead and search anyway. When the results are received for that search, they then start learning about the information space and refine/restart their query.

The design principle of timely feedback works all the way through this experience, so "Spotlight-style" results all go towards helping make the query reflective of the information space and of the person's original intention.

For a good example of both these techniques at work, try to find yourself a new TV at John Lewis or any number of e-commerce sites.

11

From a technical point of view the two are basically the same (i.e. excluding elements from a list, based on some criterias)

From a user point of view, it's very different:

Search is done as a first step to get some data

Filtering is applied on top of the search, after the search, never before

moreover, filtering is usually performed using boolean flags or ranges (e.g. max price $100) while search input is usually free text manually entered by the user

7

To be crisp

Search

  • Begins from none and adds to the list of results based on the criteria that matched.
  • Data gathering process and no hierarchy is expected.
  • Target is unknown and results displayed as they type or after taking action.

Filters

  • Begins on a known data with a criteria and at least some hierarchy.
  • Elimination process based on criteria.
  • Target is known most of the time.
5

Data filtering has been around in spreadsheet and database software for decades; filtering is generally where you start with a full dataset and then filter it down to relevant results. The filter criteria should correlate with the data model. As far as the form goes, yes a keyword-only filter is essentially the same as a search, and an advanced search could be similar to a filter form ... but I guess it just comes down to where you're starting from - are you starting with results and then subtracting, or starting with no results and then displaying only relevant ones?

3

You search when you know what you want to find. Search is active

You filter when you don't know what you don't know about what you are searching for. Filtering is passive

I explore it a little bit in my essay Slaves of the feed - This is not the real time we've been looking for

1
  • This is the most thoughtful answer ever. The most clear definition and the exact distinction. Because otherwise, UI may be implemented to simultaneously presenting search and filtering terms in the same place, and for users the only difference will be the sets intersections: filtering assumes that you create a subset. If user is allowed to select larger subset than the search terms, then it effectively creates the new search terms, and is not filtering, by definition (but may be accomplished using the same UI elements). Your thought helped me a lot to clarify and improve the UX of my product. Mar 5, 2018 at 17:22
3

There are some really good answers here, but I wanted to contribute something from a slightly different perspective... time.

If you're purely using filters to limit results, then the most common expectation is that the list being filtered is 'live' and values may change at a regular interval, just as they would if the list weren't being filtered.

On the other hand, search tends to capture a 'point in time'. If I search for 'foo' and an object has a matching value, then the object is part of the search result. If after a minute (or whatever interval), that object's value for 'foo' changes to 'bar', my result set is unchanged. (at least until the next time I run the search)

Search results shouldn't appear and disappear based on changes in time. Filtered data on the other hand may change over time, if the base set of data changes over time.

1
  • That's a very interesting observation, thank you very much! Mar 5, 2018 at 18:00
2

Interesting question. IMO - filter subsets data usually on the screen whereas search is used to find data from a larger universe. I guess even without thinking of the size of the universe. One retrieves a subset based on criteria, whereas the other returns results based on matches.

2

Usually, search is used to select the results that contain a world that is typed by the user. Filters are used to select the results that match/not match certain criteria and are more complex. Filters can contain the classic search and can be seen as an advanced search/ a search with filters.

2

USER PERSPECTIVE:

Similar but not the same!

Filters are constraints (Provided in the UI) that the user Selects to limit the results. While Search tends to display all related results based on users' input of Keywords.

Notice: User can only select Filters that are AVAILABLE in the UI (User selection). When they search they can write anything in there! (Users input).

Take this example and apply it yourself. i.e. If you want to buy Adidas Running Sneakers.

You will most probably go to the "Search" text-box and input "Adidas running sneakers". That will produce a lot of results that are not only specific to Adidas or Running or Sneakers, you will most probably get Adidas running sneakers in the first result page (Accurate results). But, the more you keep going browsing the results the more you will see less accuracy, maybe Adidas but NOT Running sneakers, and then maybe Other brands of Running Sneakers, and then getting further and further from accurate results.

Now if you filter using Adidas Brand, you must only get Adidas, then if you filter using Running, you must only get Running...etc.

Filtering sounds very accurate. However, if those filters (Brand=Adidas, Type=Running, ...etc) are not provided as options in the UI then hopefully Search is provided.

1

I think we can apply the law of Pareto (20/80) on fields filters and Search:

  • Filter: answers to 80% of users needs to find common information on "basics" fields.
  • Search: answers to 20% of users needs to find specific information on specific fields by using highly sophisticated algorithms.

regards,

2
  • 1
    I don't think you really understand the Pareto principle. It certainly doesn't apply how you are using it here. Apr 17, 2011 at 16:29
  • 1
    Filters (20% of fields) ==> 80% of needs, Search (the rest = 80%) --> 20% of needs... seems to be pareto law. perhaps my first answer was not clear.
    – Michaël
    Apr 18, 2011 at 0:54
1

I guess filtering provides a specific impression whereas searching provides a generic impression. What I mean by impression is the human impression a user gets while performing the said action. For example: lets say to pick an apple from a basket full of fruits and vegetables;

  • filter: filter by 'fruits' and pick an apple
  • search: search for an apple (when you don't know whether an apple is a fruit!)
1

Here's a visual example. I built this as an advanced search and filtering wherein user just types any random keywords to search all of the data but can also add specific filters to narrow down the search. Hope that helps!

enter image description here

1

Searching adds results and filtering removes results.

A good example of this is ebay. You enter your search terms and receive lots of results. After that you filter by categories, price, location, ... to remove unwanted results.

http://www.ebay.com

1

From a purely user perspective -- where this discussion began -- I would distinguish the two as follows:

  • People search when they don't know what they are looking for.
  • People filter when they know exactly what they're looking for.

The use cases are different. As an example, I may have heard there is this really interesting video on YouTube about a guy reuniting with a lion he raised as a cub. I don't know the exact video I'm looking for (its title, its length, who uploaded it, when it was uploaded, etc.), so I search YouTube with likely keywords like "cub, lion, reunite, owner, man." What comes back is a list of relevant videos based on my keywords. If I re-enter those keywords differently (remove some, add others, change the order), I get a different result set.

In this scenario, I know I'm looking for a video, and I know the subject matter, but I don't know (or perhaps even care about) the specific video that comes back. In fact, I get upwards of 20 videos, all having to do with the topic at hand. But if I know that the video I'm looking for is in black & white, was created on May 10, 2010, and is 2:29 in length, filtering is my best bet. In this case, I want to start with all the videos out there and narrow down the list until I find the exact video I'm looking for.

The point here is the use cases are different, the users' needs are different, and therefore the solutions/features are different. Users may do both (search and filter) but not at the same time. What this means for us as solutions folks is that we shouldn't confuse these scenarios or make the mistake of using "search" and "filter" as synonyms. We should always start with the business need and use cases and let those drive the solutions.

0
1

If we’re talking about the user perspective

Search: As a user I want to search item by something specific that I already know I want to find. E.g. name, serial number

Filter: As a user I want to see the list of items that match criteria I want to filter by. E.g. list of Ford cars

0

One case is if you have a list of items. You know the name of the item, then you SEARCH with this name. Normally in a text field. Now you have 20 items with that name, so, you´ll FILTER this items that was created this month. Summary: SEARCH a string/value FILTER by some characteristic.

0

From my experience

Search: it's for a quick one, where the user doesn't know more details or the user doesn't want to dig in detail then they type the keywords and the related generic results will show up.

Filter: if the user didn't get the desired result from the search or the user knows the specific terms, then they dig down more detail by applying specific attributes in the filter section, and get the desired result.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.