Implementing Search in .NET Applications

The ability to search, and most importantly find, is something most people take for granted and just expect it to work. In many cases it only becomes a big priority when search is broken or missing.
Course info
Rating
(23)
Level
Beginner
Updated
Jul 1, 2016
Duration
4h 29m
Table of contents
Course Overview
Searching Is Important… But Why? And How?
Understanding Search
Configuring and Running a Solr Search Server
Getting Started with SolrNet – Your .NET Search Library
Making Your Content Searchable with Indexing
Querying: Help Your Users Find What They Need
Improving Relevancy – It’s Harder Than You Think
Getting Even Better: Faceting, Filtering, Highlighting, and More
Final Takeaway
Description
Course info
Rating
(23)
Level
Beginner
Updated
Jul 1, 2016
Duration
4h 29m
Description

Get the information on how to make understanding and implementing search a breeze, saving you hundreds of hours of research. In this course, Implementing Search in .NET Applications, you'll be learning how to set up your own search engine and how to interact with your search engine from your code. Also, you'll learn how to index documents and then retrieve them by querying search engine. Finally, you'll learn how to improve relevancy and get better results by learning some additional techniques to improve the searching experience. By the end of this course, you will be able to implement a search API in C# with SolrNet.

About the author
About the author

Xavier is very passionate about teaching, helping others understand search and Big Data. He is also an entrepreneur, project manager, technical author, trainer, and holds a few certifications with Cloudera, Microsoft, and the Scrum Alliance, along with being a Microsoft MVP.

More from the author
Importing Data: Python Data Playbook
Beginner
1h 35m
Nov 17, 2018
More courses by Xavier Morera
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone. My name is Xavier Morera, and welcome to my course Implementing Search in. NET Applications. I am very passionate about teaching, and this specific topic that I will be covering in this course is very special to me for several reasons that include the passion that I have for search, as well as the fact that I have spent the last year working countless hours in implementing an API that is built using many of the techniques that I have learned during the years and now I will be teaching to you. I believe I can change the way that you'll look at this very powerful feature that is part of our daily life, search. As a fun fact, did you know that in general it is said that there are two types of search, search behind the firewall, for example, your corporate internet uses search to save money, while search outside the firewall is used to make money, for example, by ecommerce sites like eBay and Amazon. You know what they say, search is the new killer app. In this course, we're going to learn how to properly implement search getting started with learning how to set up your own search engine, learning how to interact with your search engine from your code. In this case,. NET and specifically C#. Then we're going to learn how to index documents and then retrieving them by querying a search engine. And then finally, we're going to learn to improve relevancy, namely getting better results with some additional techniques to improve the searching experience. By the end of this course, you will be able to implement a search API in C# with SolrNet using a free open source best-of-class search engine, Apache Solr. Before beginning the course, you should be familiar with coding in C#, and it is recommended that you know a thing or two about Solr, but it's not a prerequisite. I will give you enough to get started. I hope you join me on this journey to learn search with Implementing Search in. NET Applications course at Pluralsight.

Getting Started with SolrNet – Your .NET Search Library
Getting Started with SolrNet, Your. NET Search Library. SolrNet is a great library as it allows us, and by us I mean. NET developers, work with Solr in an easy way helping us to be proficient and efficient as quickly as possible, and that is what this module is all about, give you a good push in the right direction. So we will cover a SolrNet overview, how to get SolrNet. The SolrNet libraries are available, but you can build them yourself if you want to. I will show you how to. It is very easy. Then I will cover what are the dependencies that you have when using SolrNet, and SolrNet comes with a sample app that you can use as an example and reference too. The next step is to show you how to connect to Solr and work with Solr from the comfort of C#.

Making Your Content Searchable with Indexing
Making Your Content Searchable with Indexing. To be able to search, you need content, and how do you get content? Indexing, which sometimes is called feeding the search engine. Indexing involves adding content to a Solr index, if necessary modifying it, and thus making it searchable. And you can index all types of content. And indexing is absolutely necessary for search. No documents, no search. And there are multiple content types and from various content sources, for example, XML, CSV, Word, Excel, PowerPoint, or even databases. And it is possible to index via the HTTP REST API, or because Solr is built in Java, you can use Solr's Java client API and connect directly to it. But there is no. NET API, and that's why we have SolrNet. Internally, it calls the REST API. It calls a handler. For example, /update is called to index a document. Now let's talk about the part of if necessary modifying it. Search engines are optimized for reading, so documents are written only once, although they can be updated. But the whole point is that they're read many times, every time that a query is ran, so it's critical to move transformations as much as possible to index time instead of every time that a document is retrieved. And now that we've added the data and made any transformations, we arrive at the part of thus making it searchable. So now let's learn how to index content in C# using SolrNet.

Improving Relevancy – It’s Harder Than You Think
Improving Relevancy, It's Harder Than You Think. There is a very sweet feeling when you as a user get results that are spot on, exactly what you need. And even though it feels like magic, it is not, and it's neither mind reading. It is relevance, which uses the tf-idf or term frequency-inverse document frequency to help determine which are the most important documents. In layman terms, the more a term occurs in a particular document while being less frequent in all of the other documents in the index, the more important that the document will be and thus returned higher in the search results. And relevance is incredibly important. Don't believe me? Let's take a quick quiz. And the quiz is where do you hide a dead body? I think this is not what you were expecting, right? But check this out. You can hide a dead body in the second page of Google because no one ever looks there. People expect their results to be returned in the first page, or else they usually refine the query, and that's why relevance is so important.

Getting Even Better: Faceting, Filtering, Highlighting, and More
Getting Even Better Results: Faceting, Filtering, Highlighting, and More. In this module, we will learn how to implement certain features that are usually expected from search and sometimes critical for users to obtain the results that they need. We will learn what the search engine can do to make searching an enjoyable experience and avoid user frustration. You know what I mean. Trying to find something with a bad search engine is frustrating, especially if you know that it exists somewhere. And remember, a good search experience can help you profit, for example, if you have ecommerce site, and to save money, for example, by avoiding rework within a company by finding that document that already has what you need.