Recently I’ve become interested in search systems. This topic is completely new to me, so here are some notes and thoughts about what I’ve learned so far.

Search is everywhere

Search is everywhere. We interact with search systems and applications almost daily. From googling about your next vacation destination to looking for the number of your cousin in your phone’s contacts app. We enter a query in the application’s search box and expect to have answers relevant to our question. The system should respond fast and should be accurate, and it should give us either the information we are looking for or other information that allow us to refine our question.

From the user perspective, the search box is then like a magic ball, you ask and then you have answers.

Now, let’s imagine that your vacations are approaching and we are looking for a resting beach in Peru.

What are the best beaches in Peru?

If you ask this question to some of your friends, I bet you will get different answers from each of them. There answers will depend mainly on their experience. If we ask this question to two different search engines, I bet you will get different suggestions too. Some of these suggestions might be or not relevant to you.

For example:

  • If you are an avid angler perhaps you want beaches when you can fish
  • If you are looking for a luxury vacation perhaps you will want beaches near to hotels, restaurants and other services.
  • Or maybe you are in a budget, and will prefer suggestions that are closer to you can just drive there.

What is relevant to you is very unique!

Are the user’s needs the only factor taken into account in search systems? Let’s say that you are in an e-commerce site looking for a fancy dress to go to a party. So you use their search box and look for

Red cocktail dress

The results you will get will not only will be impacted by the query you make (your needs), but also by the business behind the site! You will probably see results that sell better, generate profit and are available in the inventory, for example [1].

So, not only search should take into account the user needs but also the business needs behind the search application. Some times, these needs can be contradictory and finding the right balance is essential otherwise users can leave or think “this search is broken”.

What is relevance?

With so many factors that impact on a result being relevant or not, then we can ask ourselves, what is relevance?

I really liked this definition from [1]

“Relevance is the practice of improving search results for users by satisfying their information needs in the context of a particular user experience, while balancing how ranking impacts our business’s needs.” [1]

With this definition in place we realize that making things relevant in a search engine is then a complex topic, it requires not only user but also business understanding.

Bibliograpy

[1] Doug Turnbull John Berryman. Relevant Search: With applications for Solr and Elasticsearch (Kindle Locations 668-669). Manning Publications. Kindle Edition.