Course info
Nov 25, 2014
1h 55m

Elasticsearch is a free, open source, distributed, real-time analytics and search engine. It's built to be used in environments where speed and availability are considered high priorities. This course will introduce users to Elasticsearch, do a walkthrough of a basic installation, and teach the user how to index data and query it efficiently. The course will then go on to teach more advanced querying techniques, filters, and analytics. Finally, the course will show users how to integrate Elasticsearch with their .NET projects using a basic console application example.

About the author
About the author

JP is a recovering enterprise consultant now living in the SaaS software products world.

More from the author
Getting Started with Ansible on Windows
1h 23m
Jun 21, 2016
Administering an Elasticsearch Cluster
2h 8m
Dec 11, 2015
Section Introduction Transcripts
Section Introduction Transcripts

Data Types & Index Options
Welcome to module 2 of Getting Started with Elasticsearch for. NET Developers. In the last module, we broke the ice with Elasticsearch and got an idea of how it works and why you might want to use it. We installed a local instance, or node, of Elasticsearch, and tested it to make sure it was working okay. We installed a handy plugin to help us with administration and querying. In this module, we're going to take things to the next level. In terms of traditional database parlance, indexes are like databases in Elasticsearch, so let's learn how to create them. We've already gotten our local Elasticsearch node working and tested. The next thing we should discuss are data types. Just like in a typical relational database, Elasticsearch has some native data types that it supports out of the box. We're going to learn about those first so that we'll have an idea of what kind of options we have to store our data. Then we'll actually create our first index. In fact, you'll find that we'll create and destroy our index several times in this module as we discover new and interesting options to make storing our data more efficient and easier to search. We'll also get into some basic administrative helpers like routing and aliases, which are a major help when working with multiple indexes. They're smaller topics, but they're no less important to the day-to-day operations of a healthy Elasticsearch cluster.

Querying & Analysis
Welcome to module three of Getting Started with Elasticsearch for. NET Developers. In this module, we're going to learn how to query Elasticsearch for data using a few different methods. We'll begin with some light searching, and then move on to using more complicated queries, filters, and full text search. Towards the end of the module, we're going to learn about analyzers and how they can affect your searches.

Elasticsearch With .NET
In this, our last module, we're going to take a look at how to integrate Elasticsearch with. NET so that it can be useful for your projects. Specifically, we'll focus on one open source library that makes working with Elasticsearch from. NET a lot easier. We won't be building out an extensive demonstration application, just a basic console app so that we can demonstrate the basic connection to Elasticsearch, creating an index, and querying data, similar to how we did with the direct HTTP API in the previous module. There are a couple of libraries available for working with Elasticsearch with. NET, but the one I want to introduce you to is the NEST library, started by Martijn Laarman. It's a C# implementation of the Elasticsearch API. Like a lot of open source projects, the source code is available on GitHub, and, at the time of this recording, has over 30 contributors. The nice thing about NEST is that it has a nearly one to one match parity of features with the Elasticsearch API. Almost anything you can do using the native Elasticsearch REST API you can also do from the NEST library, including adding or deleting indexes, changing mappings, and running queries. In fact, the NEST library is so good it was incorporated as the official. NET client library for Elasticsearch. So let's take a look at how it works.