Elasticsearch 5.x Solutions:Mastering ElasticsearchOperation
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.
7 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Elasticsearch 5.x Solutions:Mastering ElasticsearchOperation to your Wishlist.

Add to Wishlist

Elasticsearch 5.x Solutions:Mastering ElasticsearchOperation

Create flexible and scalable search solutions using Elasticsearch 5.x
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.
7 students enrolled
Created by Packt Publishing
Last updated 7/2017
Curiosity Sale
Current price: $10 Original price: $125 Discount: 92% off
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Executing a search, Sorting and Highlighting results
  • Use has_child query, has_parent query and nested query for searching
  • Executing Global and Geo distance aggregations
  • Look at Painless scripting and Installing additional script plugins
View Curriculum
  • This course follows a problem-solution approach to help you effectively use and manage Elasticsearch. Each video focuses on a particular task at hand, and is explained in a very simple, easy to understand manner.

Spanning around 4 hours, this course dives straight into the core capabilities of Elasticsearch. It contains practical recipes on the major operations such as searching, working with text, numeric and geo queries, performing aggregations and scripting.

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. Some understanding of JSON is expected. If you want to extend Elasticsearch, understanding of Java and related technologies is also required.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
25 Lectures
7 Lectures 36:23

This video gives an overview of the entire course.      

Preview 03:13

We'll see that a search in Elasticsearch is not only limited to matching documents, but it can also calculate additional information required to improve the search quality.           

Searching, Sorting, and Highlighting Results

In Elasticsearch, there is not a deterministic order for records-pagination on a big block of values can bring inconsistency between results due to the added and deleted documents and also documents with the same score.            

Scrolling and Returning Inner Hits

 It's very common for users to commit typing errors or to require suggestions for words that they are writing.           

Suggesting Correct Query and Counting Matched Results

 When executing searches, it's very common to have documents that don't match the query as expected.           

Query and Query Profiling

 Elasticsearch provides a call to delete all the documents that match a query via an additional module called reindex.           

Deleting and Updating by Query

 The match_all query allows the user to return all the documents.           

Matching All Documents and Using a Boolean Query
Text and Numeric Queries
5 Lectures 39:25

Term queries work with exact value matches and are generally very fast, and the prefix query allows completing truncated or partial terms.        

Preview 07:25

The wildcard query allows completing truncated or partial terms. The span query family is a group of queries that control a sequence of text tokens via their positions.             

Using wildcard, regexp, and Span Query

Elasticsearch provides a helper to build complex span queries that depend on simple preconfigured settings. This helper is called match query and the query string query is a special type of query that allows defining complex queries by mixing the field rules.       

Using a Match and Query String Query

 In every application, it's very common to search a range of values.       

Using Range, Common Term, and IDs Query

The function score query allows extensive customization of the scoring algorithm. Records in Elasticsearch can have missing values, so we use exist fields.       

Using the Function Score, Exist, and Template Query
Relationships and Geo Queries
5 Lectures 10:15

 The has_child query allows querying for parent documents of children matching other queries.       

Preview 03:19

 Elasticsearch provides a query to search child documents based on the parent query, has_parent.       

Using the has_parent Query

 One of the most common operations in geolocalization is searching for a box.       

Using the geo_bounding_box Query

 Elasticsearch provides a way to filter user-defined polygonal shapes via the geo_polygon filter.       

Using the geo_polygon Query

 When you are working with geolocations, one common task is to filter results based on the distance from a location.       

Using the geo_distance Query
6 Lectures 32:42

Elasticsearch provides several functionalities other than search; it allows executing statistics and real-time analytics on searches via the aggregations.       

Preview 11:10

 It's often required to return the buckets aggregated in ranges: the range aggregations meet this requirement.       

Executing Range and Histogram Aggregations

We need to reduce the number of hits in our aggregation to satisfy a particular filter. Hence, to obtain this result, the filter aggregation is used.            

Executing Filter Aggregations

Elasticsearch provides a special aggregation global that is executed globally on all the documents without being influenced by the query.       

Executing Global, Geo Distance, and Children Aggregation

When working with complex structures, the nested objects are very common. The top hit aggregation is used as a sub-aggregation, so that the top matching documents can be aggregated in buckets.       

Executing Nested, Top Hit, and Matrix Stats Aggregation

 It's a very common scenario having a set of documents that match a query and you need to know the box that contains them.       

Executing the geo_bound and geo_centroid Aggregation
2 Lectures 07:14

Painless is a simple and secure scripting language available in Elasticsearch by default.

Preview 03:41

Elasticsearch provides native scripting (a Java code compiled in JAR) and Painless, but a lot of interesting languages are available, such as JavaScript and Python. 

Installing Additional Scripts Plugins
About the Instructor
Packt Publishing
3.9 Average rating
7,282 Reviews
52,029 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.