chapter one

1 Overview

 

This chapter covers

  • Setting the scene for modern search engines
  • Introducing Elasticsearch, a search and analytics engine
  • Looking at its functional and technical features
  • Understanding Elasticsearch’s core areas, use cases, and its prominent features
  • Overview of Elastic Stack: Beats, Logstash, Elasticsearch, and Kibana

We expect Google to return our search results in a flash. Further, we want the results to be relevant, meaningful, and exactly what we are looking for. When I start searching in that simple-looking search bar, I expect Google to autocomplete my search, correct my spellings, and suggest some keywords. While we may take it for granted, the mechanics, science, and brains behind that tiny search bar are unfathomable. Most of us are pretty happy navigating to one of the top links on the first page. In fact, research suggests that 80% of people won’t even bother to visit the second page. The beauty is that the results are so close that we don’t give a second thought to suspect Google’s results.

1.1 What makes a good search engine?

Recently, my family adopted a puppy, Milly (that’s her, pictured!). As we are the first-time owners of a pup, we started searching for dog food online. I browsed through my preferred (popular) grocer, but to my disappointment, the search results (see figure 1.1) were not appealing. You can see “poop bags” in the list of results (ranked on the top) among other non-relevant products. There weren’t any filters, no dropdowns, no price range knobs; it’s just a plain page with the search results.

1.2 Search is the new normal

1.2.1 Search supported by a database

1.2.2 Full-text search engines

1.3 Modern search engines

1.3.1 Functional features

1.3.2 Technical features

1.3.3 Search is for everyone

1.3.4 Analytics

1.3.5 Integrated machine learning

1.4 Introducing Elasticsearch

1.4.1 Core areas

1.4.2 Elastic Stack

1.4.3 Popular adoption

1.4.4 Elasticsearch use cases

1.4.5 Not one-application-fits-all

1.5 Prominent features of Elasticsearch

1.5.1 Multifaceted text searching

1.5.2 Analytics and aggregations