Elasticsearch 5.x Solutions – Extending Elasticsearch
0.0 (0 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.
5 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Elasticsearch 5.x Solutions – Extending Elasticsearch to your Wishlist.

Add to Wishlist

Elasticsearch 5.x Solutions – Extending Elasticsearch

Integrate ElasticSearch with Java, Python, and Scala, and use Plugins to extend its usefulness.
0.0 (0 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.
5 students enrolled
Created by Packt Publishing
Last updated 8/2017
Current price: $12 Original price: $125 Discount: 90% off
4 days left at this price!
30-Day Money-Back Guarantee
  • 1.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Creating a client
  • Managing mapping, indices, and documents
  • Executing a search with aggregation
  • Creating a REST and an ingest plugin
  • Indexing data via Apache Spark
View Curriculum
  • Some understanding of JSON is expected. If you want to extend Elasticsearch, understanding of Java and related technologies is also required.

Once you’re done with mastering all the capabilities of Elasticsearch, it’s time to go one step beyond. This final part of the Elasticsearch 5.x Solutions series dives into the third-party integration aspect of Elasticsearch. Spanning just under 3 hours, it gives you a detailed coverage of how Elasticsearch can be integrated with popular languages such as Python, Java and Scala, as well as shows you how Elasticsearch is integrated with third party tools for efficient Big Data solutions.

About the Author

Alberto Paro is an engineer, project manager, and software developer. He currently works as freelance trainer/consultant on big data technologies and NoSQL solutions. He loves to study emerging solutions and applications mainly related to big data processing, NoSQL, natural language processing, and neural networks. He began programming in BASIC on a Sinclair Spectrum when he was eight years old, and to date, has collected a lot of experience using different operating systems, applications, and programming languages.

In 2000, he graduated in computer science engineering from Politecnico di Milano with a thesis on designing multiuser and multidevice web applications. He assisted professors at the university for about a year. He then came in contact with The Net Planet Company and loved their innovative ideas; he started working on knowledge management solutions and advanced data mining products. In summer 2014, his company was acquired by a big data technologies company, where he worked until the end of 2015 mainly using Scala and Python on state-of-the-art big data software (Spark, Akka, Cassandra, and YARN).
In 2013, he started freelancing as a consultant for big data, machine learning, Elasticsearch and other NoSQL products. He has created or helped to develop big data solutions for business intelligence, financial, and banking companies all over the world. A lot of his time is spent teaching how to efficiently use big data solutions (mainly Apache Spark), NoSql datastores (Elasticsearch, HBase, and Accumulo) and related technologies (Scala, Akka, and Playframework). He is often called to present at big data or Scala events. He is an evangelist on Scala and Scala.js (the transcompiler from Scala to JavaScript).

Who is the target audience?
  • If you are a developer who wants to get the most out of Elasticsearch for advanced search and analytics, this is the video for you.
Compare to Other Elasticsearch Courses
Curriculum For This Course
23 Lectures
Java Integration
6 Lectures 30:52

This video gives an overview of the entire course.      

Preview 02:38

An HTTP client is one of the easiest clients to create. It's very handy because it allows for the calling, not only of the internal methods as the native protocol does, but also of third-party calls implemented in plugins that can be only called via HTTP.

Creating Clients

In this video, we will see how to manage indices via client calls.

Managing Indices with the Native Client

In this video we will see how to manage mappings via a native client, and then use native APIs to manage documents.

Managing Mappings, Documents, and Bulk Actions

In this video, we will see how to create a query object via QueryBuilder and via simple strings.           

Building a Query

We can execute a query to retrieve some documents and learn what extra parameter in the query scroll is provided by Elasticsearch.           

Executing Search
Scala Integration
6 Lectures 14:18

The first step for working with elastic4s is to create a connection client to call ElasticSearch. Similar to Java, the connection client is native and can be a node or a transport one.

Preview 03:01

After having a client, the first action to do is to create a custom index with an optimized mapping for it. Elastic4s provides a powerful DSL to do this kind of operation.            

Managing Indices

After creating an index, the next step is to add some mappings to it.

Managing Mappings

In this video, we will use APIs to manage documents.

Managing Documents

Elastic4s leverages the query DSL, bringing to Scala a type-safe definition for the queries. One of the most common advantages of this functionality is that, as Elasticsearch evolves, in Scala code via elastic4s. 

Executing a Standard Search

The elastic4s DSL also provides support for aggregation so that it can be built in a safer typed way.

Executing a Search with Aggregations
Python Integration
6 Lectures 20:58

We'll see how to instantiate a client with varying options

Preview 05:46

We will look at how to manage indices via client calls

Managing Indices

After creating an index, the next step is to add some type mappings to it

Managing Mappings

We will see how to use APIs to manage a document in a standard way 

Managing Documents

After inserting documents, the most commonly executed action in Elasticsearch is the search

Executing a Standard Search

Aggregations are executed along the search by performing analytics on searched results

Executing a Search with Aggregations
Plugin Development
5 Lectures 20:29

We will see how to set up a working environment to develop native plugins

Preview 05:26

We will add a new custom English analyzer similar to the one provided by Elasticsearch

Creating an Analyzer Plugin

We will see how to define a REST entry-point and create its action; in the next one, we'll see how to execute this action 
distributed in shards

Creating a REST Plugin

An Elasticsearch action is generally executed and distributed in the cluster, and in this video, we will see how to implement this kind of action

Creating a Cluster Action

In this video, we will see how to create a custom processor that stores the initial character of a field in another one

Creating an Ingest Plugin
About the Instructor
Packt Publishing
3.9 Average rating
8,274 Reviews
59,205 Students
687 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.