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.
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.
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.
It's very common for users to commit typing errors or to require suggestions for words that they are writing.
When executing searches, it's very common to have documents that don't match the query as expected.
Elasticsearch provides a call to delete all the documents that match a query via an additional module called reindex.
The match_all query allows the user to return all the documents.
Term queries work with exact value matches and are generally very fast, and the prefix query allows completing truncated or partial terms.
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.
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.
In every application, it's very common to search a range of values.
The function score query allows extensive customization of the scoring algorithm. Records in Elasticsearch can have missing values, so we use exist fields.
The has_child query allows querying for parent documents of children matching other queries.
Elasticsearch provides a query to search child documents based on the parent query, has_parent.
One of the most common operations in geolocalization is searching for a box.
Elasticsearch provides a way to filter user-defined polygonal shapes via the geo_polygon filter.
When you are working with geolocations, one common task is to filter results based on the distance from a location.
Elasticsearch provides several functionalities other than search; it allows executing statistics and real-time analytics on searches via the aggregations.
It's often required to return the buckets aggregated in ranges: the range aggregations meet this requirement.
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.
Elasticsearch provides a special aggregation global that is executed globally on all the documents without being influenced by the query.
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.
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.
Painless is a simple and secure scripting language available in Elasticsearch by default.
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.