As you may have guessed from the title, this is a book about Apache Solr—specifically about Solr essentials. What do I mean by essentials? Nice question! Such a term can be seen from so many perspectives. Solr, mainly from 2010 onwards, witnessed exponential growth in terms of popularity, stakeholders, community, and the capabilities it offers. This rapid growth reflects the rich portfolio of the things that have been developed in these years and are nowadays available. So, strictly speaking, it’s not so easy to define the “essentials” of Solr.
The perspective that I will use to explain the term “essentials” is quite simple and pragmatic. I will describe the building blocks of Apache Solr, and at the same time, I will try to put my personal experience on those topics. In recent years, I’ve worked with Solr in several projects. As a user, I had to learn how to install, configure, tune, troubleshoot, and monitor Solr. As a developer, things were different for me. If you’re working in the IT domain and you’re reading this book (I guess you are), you probably know that each time you try to implement a solution, there’s something in the project that a specific tool doesn’t cover. So, after spending a lot of time analyzing, reading documentation, searching on the Internet, reading Wikis, and so on, you realize that you need to add a custom piece of code somewhere. That’s because “the product covers the 99.9999 percent of the possible scenarios but…” For this specific case, if this happens or that happens, you always fall under that 0.0001 percent. I don’t know about you, but for me, this has always been so. No matter what the project, the company, or the team is, this has been an implicit constant of every project, always.
That’s the reason I will try as much as possible to explain things throughout the book using real-world examples directly coming from my personal experience. I hope this additional perspective will be useful for better understanding of what is considered the most popular open source search platform.
What this book covers
Chapter 1, Get Me Up and Running, introduces the basic concepts of Solr and it provides you with all the necessary steps to quickly get it up and running.
Chapter 2, Indexing Your Data, begins our first detailed discussion on Solr. In this chapter, we look at the data indexing process and see how it can be configured, tuned, and customized. This is also where we encounter the first line of code.
Chapter 3, Searching Your Data, explores the other specular side of Solr. First, we stored our data; now we explore all that Solr offers in terms of search services.
Chapter 4, Client API, covers client-side usage of Solr libraries, providing a description of the main use cases from a client’s perspective.
Chapter 5, Administering and Tuning Solr, takes you through the available tools for configuring, managing, and tuning Solr.
Chapter 6, Deployment Scenarios, illustrates the various ways in which you can deploy Solr, from a standalone instance to a distributed cluster.
Chapter 7, Solr Extensions, describes several available Solr extensions and how they can be useful in solving common concrete use cases.
Chapter 8, Contributing to Solr, explains the wonderful world of open source software by illustrating the compounding pieces of the process of participation and contribution.
What you need for this book
In order to be able to run the code examples in the book, you will need the Java Development Kit (JDK) 1.7 and Apache Maven.
Alternatively, you will need an Integrated Development Environment (IDE). Eclipse is strongly recommended as it is the same environment I used to capture the screenshots. However, even if you want to use another IDE, the steps should be quite similar.
The difference between the two alternatives mainly resides in the role that you want to assume during the reading. While you may want to only start and execute the examples as a user, you would surely want to see the working code in a usable environment as a developer. That’s the reason an IDE is strongly recommended in the second case.
The first chapter will provide the instructions necessary for installing all that you’ll need through the book.