Learning Path: Elasticsearch and AngularJS: IntraWeb Search
4.5 (4 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.
37 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning Path: Elasticsearch and AngularJS: IntraWeb Search to your Wishlist.

Add to Wishlist

Learning Path: Elasticsearch and AngularJS: IntraWeb Search

Learn how to integrate Elasticsearch in your AngularJS application and boost its scalability and overall performance.
4.5 (4 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.
37 students enrolled
Created by Packt Publishing
Last updated 5/2017
Curiosity Sale
Current price: $10 Original price: $200 Discount: 95% off
30-Day Money-Back Guarantee
  • 4 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Kick-start your application in minutes by scaffolding it entirely with Yeoman
  • All about creating dynamic pages in Angular, specifically but not limited to validation of user data, creating and working with worker threads and AJAX calls, and efficiently handling routing between various pages of the application.
  • The basics of Elasticsearch as well as installing and configuring it.
  • Categorize different types of data automatically with Elasticsearch and manage them effectively.
  • Use the Elasticsearch domain-specific language to create search filters for searching 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.
View Curriculum
  • A basic knowledge of JavaScript and HTML is required. Also, some familiarity with HTTP methods would be needed.

Always wanted to make your AngularJS app more scalable and fast? Thinking of ways to power insanely fast data discovery within your app? Think no more, for this Learning Path guides you how to integrate Elasticsearch - the world renowned scalable and fast open-source search server - with your AngularJS app.

Elasticsearch is a search server that also doubles up as a NoSQL data store, and hence provides lightning-fast search functionality within a website. Moreover, you can rapidly scale up a website using Elasticsearch. It is also highly available, meaning that a website would almost never face any downtime or lags, when having an Elasticsearch backend; which is also attributed to its NoSQL nature.

AngularJS is a web framework powered by Google, that has revolutionized web development over the past few years. With its advanced and unique 2-way data binding between the data and the UI, strong template-building solutions, code reuse features, allowing the creation of custom DOM elements whenever needed, AngularJS can indeed be said to be the framework of the future.

Elasticsearch and AngularJS: IntraWeb Search is Packt’s Video Learning Path that is a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

Firstly, we would be looking at getting started with AngularJS. We will be looking forward to developing a strong foundation in AngularJS by learning the basics, and then moving on to topics such as controllers, templates, routing, and services.

Next, we would be studying about Elasticsearch right from the basics, so that our concepts are built well. Moving on, we would be learning about how to create queries to enable searching data in an Elasticsearch data store. Finally, we would be looking in detail at integrating Elasticsearch with an AngularJS application, and improving the search features by tweaking various configurations, so as to boost the overall efficiency and scalability.

By the end of this course , you will have developed a strong foundation in Elasticsearch and understood the basics of AngularJS well enough to integrate Elasticsearch with an AngularJS application environment and improve its performance drastically.

The goal of this course is to teach you to integrate Elasticsearch with an AngularJS-based app and improve the overall performance and scalability of your application.

This course is authored by some of the best in the field.

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.

Mathieu Chauvinc is a Managing Director at Red Ape Solutions. He has been involved in web technologies for over a decade, from Django, Node.js, Go, SQL, NoSQL, Mootools, and Angular 2. He has also studied in Karlsruhe University, Germany. He has authored several video courses, such as ‘Learning JavaScript Promises’ and ‘Introducing Ionic 2’.

Who is the target audience?
  • Any web developer interested in learning or getting started with AngularJS, Elasticsearch, or both, or simply searching for a robust search solution within an AngularJS app.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
44 Lectures
Introducing AngularJS
23 Lectures 02:08:03
Introduction to the course and description of sections
Preview 02:57

How to make an existing web page into an Angular application
"Angularizing" Your Existing Web Page

How to start an Angular application by bootstrapping from a seed project or by scaffolding using Yeoman
Bootstrapping an Angular Application

How to define a controller constructor function
Preview 04:10

How to display data programmatically from JavaScript to the HTML template
Displaying Data Dynamically

How to repeat a snippet of HTML for an entire list of items

Repeating Content for All Items in a List

Explain the link between the DOM markup and the scope of influence of a controller
Area of Influence of a Controller

Declare parts of the template that require user input and user interactions to be bound to the programmatic side
Preview 05:58

Declare the corresponding actions and objects on the controller to match what is declared in the template

Creating Corresponding Controller Logic

Show how every ng-model has its corresponding value available on $scope

Reading Data from the Template

Show how logic can be used to show or hide parts of the template

Conditionally Showing/Hiding Elements

Although we used Yeoman until now, we deleted the ng-view div to simplify things. We will now use a fully generated Yeoman project, including ng-view, the .config runtime, and $routeProvider.
Preview 07:03

The files and code required for creating a new route, and how Yeoman can take care of that for us.

Creating New Routes

Some routes are generic, such as /movies, but some need to include a parameter, such as /movie/3, where 3 is the ID.

Routing with Parameter

Links are needed to direct to each route. This can be achieved with simple ng-href directives or with the $location service.

Creating Links

Users will learn to make calls in the background to a server side API.
Preview 05:59

Users will learn what is given to them as arguments on success and error callbacks, and how to use it.
Handling Responses via Success and Error Callbacks

Often, requests point to a URL that either requires query parameters, or needs to use a POST method, with or without a body.
Building GET and POST Requests

Cross-domain requests are common. JSONP is a way to circumvent CORS issues.
Making Cross-domain Requests Using JSONP

We will separate the loading of data from the display logic and explain why it is important.
Preview 06:21

Video 5.1 gave the reasons/theory behind the need for services. Here, we will create the service object by using a "factory" function.
Introducing the "factory" Type of Service

The service has been coded in the previous video. We now need a way to access and time to use it. This will be done via dependency injection.
Injecting Your Own Services

The main missing feature of the app is data persistence; Movies added don’t get saved. We will implement this feature using localStorage.
Implementing Persistence
Building a Search Server with Elasticsearch
21 Lectures 01:53:03
Introduction to the course with an outline.
Preview 01:38

What is Elasticsearch?

Getting Started

Understand how to install Elasticsearch and know how to configure Elasticsearch clusters if you have to deviate from Elasticsearch defaults.

Installing and Configuring Elasticsearch

Without data, our Elasticsearch cluster is useless. We will begin ingesting our data while learning about Elasticsearch’s data structures and settings.
Preview 04:02

Take control of how Elasticsearch interprets your data.
Assigning Field Types

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.
Advanced Ingestion Topics

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.
Preview 06:48

Get an overview of Elasticsearch’s specialized queries so that you can have them in your toolkit.
Specialized Query Types

Control the score and results from each subquery.
Combining Queries

In this video, we will start building the basic structure of our search application.
Preview 03:25

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

To search for specific terms, we need a function that knows how to search. Let’s see how this is done.

Showing users why the results have been returned is an important part of searching. We will do so through highlighting.
Preview 03:54

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.


Display multiword suggestions for search terms.
Preview 03:33

Display phrases as suggestions for the search terms.
Phrase Suggestions

Show real-time results, even if a user has not finished typing a full word.
Autocomplete with Results

Fine-tune your search results to make them more targeted and effective.
Preview 04:43

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.
About the Instructor
Packt Publishing
3.9 Average rating
7,297 Reviews
52,180 Students
616 Courses
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.