Search Engine For Customers

Topics

Person with laptop
  1. Default Search Behavior or How to build basic search engine

  2. Multi-language Search or Why internationalization matters

  3. Error-tolerant Search or Let your customer make mistakes

  4. Search Autocomplete or How to show a user what he wants

  5. Boosting Search Results or Promoting the important content

  6. Relevance Optimization or Right results at the top

  7. Search Synonym Management or Let people use other words

  8. On User Preferences or Each customer matters

  9. Tracking User Behavior or This is not about spying

  10. Performance Optimization or Good, cheap, and fast

What This Training Is About

Classroom

The idea of this training has come to my mind after more than five years of developing, testing, adjusting, fixing, and improving search engines for different applications. The main issue I had was a lack of adequately structured information that answers typical questions about building search engines from the customer’s point of view. Yes, hundreds of technical articles explain how to use existing search engines and thousands of articles that describe technical details. And there were just a few valuable resources that explain what customer expects to find and how to find what is needed.

This training describes the search engine building process starting from the customer’s perspective and only then covers technical details. I.e., customer first, implementation second. Such an approach may look odd for a technical specialist who solves the problem without understanding the context and the primary goal. However, starting from the customer’s needs allows solving multiple issues from the very beginning. 

  • You will do fewer development iterations as you will have a better understanding and acceptance criteria.

  • The search engine will have a more optimal structure because you can implement only the minimum acceptance criteria.

  • You will be able to measure performance metrics and optimize search starting from the first iteration.

As a good developer, you should know that you will face all these issues sooner or later. The sooner you fix them, the better application you will have, the happier your customer will be.

Structure Of The Training

Draft

The training consist of multiple articles that covers different aspects of building and optimizing search index. I will start from basics and then go deeper and deeper, so if you are just a beginner, then it is recommended to read them in the order they are presented. But if you already have some experience, feel free to go directly to what you are looking for. I will do my best to make every article as independent as possible.

Each article clearly defines a problem, an issue, or a scope of functionality that the customer may want to have. Then there is a theoretical explanation of why the customer wants that, the business cases behind this feature, and what business problems it solves. Finally, there is a small practical example of implementing the described solution and technical recommendations for the developer. Again, the customer’s needs first, technical details second. It is the order of how you should think to build a feature that makes your customers happy.

One more technical remark: I will use the Elasticsearch engine in the practical part and refer to its documentation. It doesn’t mean you always have to use it. Elasticsearch is just a tool that provides a convenient framework to demonstrate the implementation of described features.

That’s it, my friends! Read the articles, learn how to build a search engine, and share the knowledge with your friends and colleagues. Good luck!