Building a Search Server with Elasticsearch

Build a fully featured and scalable search UI with Elasticsearch.
4.0 (31 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
444 students enrolled
82% off
Take This Course
  • Lectures 21
  • Length 2 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2015 English

Course Description

This course will give you the tools you need to create your own custom search application. Throughout this course, you'll see how rewarding Elasticsearch can be to work with and how to use it to build a real search application complete with results, highlighting, filters, and autocomplete.

Starting with an introduction to Elasticsearch and client-side applications, we'll then move on to learn how Elasticsearch automatically classifies field types, and what to do if they need to be overridden. We will also cover many of the query types that Elasticsearch provides to return results for our AngularJS application. Once we have some basic results, we will add filters (called aggregations in Elasticsearch) to make it easy for users to narrow down the results to a specific topic. Then we will cover how to implement autocomplete and highlighting, and ultimately wrap up with an overview of deployment and security.

This course will equip you with the tools that you need to craft rich search interfaces that deliver great results to your users.

About the Author

Daniel Beach is a search architect, specializing in client-side application development. He works at Opensource Connections where he has built search applications for organizations ranging from publishers to government agencies.

What are the requirements?

  • A basic understanding of JavaScript will help you grasp the functionalities of the application built with Elasticsearch and AngularJS in this course.

What am I going to get from this course?

  • Ingest real data into your index and create a working Elasticsearch cluster
  • Categorize different types of data automatically with Elasticsearch and manage them effectively
  • Work with a variety of queries and learn how and when to use them correctly
  • Implement exciting features that help you search and highlight data
  • Build custom search filters that help you with advanced data search
  • Get to grips with the best practices for separating out the structure of an AngularJS application into its various components
  • Add a bit more to your search server by applying relevancy tuning and addressing security concerns

Who is the target audience?

  • If you are a web developer who is looking to make your content more discoverable, this is the course for you.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Getting Started with Elasticsearch
Introduction to the course with an outline.
What is Elasticsearch?
Understand how to install Elasticsearch and know how to configure Elasticsearch clusters if you have to deviate from Elasticsearch defaults.
Section 2: Data Ingestion
Without data, our Elasticsearch cluster is useless. We will begin ingesting our data while learning about Elasticsearch's data structures and settings.
Take control of how Elasticsearch interprets your data.

If your content isn't indexed correctly, it wouldn't match when you search for it. Deal with that by knowing how to store and analyze your data.

Section 3: Querying Elasticsearch

Long query string URIs are difficult to create and read after they reach a certain complexity. Elasticsearch's organized Query DSL is a great way to create ordered search objects.

Get an overview of Elasticsearch's specialized queries so that you can have them in your toolkit.
Control the score and results from each subquery.
Section 4: Connecting Elasticsearch to Our Application
In this video, we will start building the basic structure of our search application.

In this video, we will walk through on getting results from Elasticsearch and displaying them in a browser.

To search for specific terms, we need a function that knows how to search. Let's see how this is done.
Section 5: The Advanced Search Functionality
Showing users why the results have been returned is an important part of searching. We will do so through highlighting.
Now, we need to learn how to sort our results with the use of sort controls.
In order to add filters to our search application, we need to first format the return from Elasticsearch similarly to what we did with results.
Section 6: Adding the Autocomplete Functionality

Display multiword suggestions for search terms.


Display phrases as suggestions for the search terms.

Show real-time results, even if a user has not finished typing a full word.
Section 7: Finishing Up

Fine-tune your search results to make them more targeted and effective.

We will look at a few strategies to deploy your search application.
We will look at how to make sure that your data is secure.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course