Book Image

Apache Solr for Indexing Data

Book Image

Apache Solr for Indexing Data

Overview of this book

Apache Solr is a widely used, open source enterprise search server that delivers powerful indexing and searching features. These features help fetch relevant information from various sources and documentation. Solr also combines with other open source tools such as Apache Tika and Apache Nutch to provide more powerful features. This fast-paced guide starts by helping you set up Solr and get acquainted with its basic building blocks, to give you a better understanding of Solr indexing. You’ll quickly move on to indexing text and boosting the indexing time. Next, you’ll focus on basic indexing techniques, various index handlers designed to modify documents, and indexing a structured data source through Data Import Handler. Moving on, you will learn techniques to perform real-time indexing and atomic updates, as well as more advanced indexing techniques such as de-duplication. Later on, we’ll help you set up a cluster of Solr servers that combine fault tolerance and high availability. You will also gain insights into working scenarios of different aspects of Solr and how to use Solr with e-commerce data. By the end of the book, you will be competent and confident working with indexing and will have a good knowledge base to efficiently program elements.
Table of Contents (18 chapters)
Apache Solr for Indexing Data
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Distributed indexing and searching


In SolrCloud, the main goal behind distributed indexing is to send a document to any node in the cluster and have that document indexed in the shard.

Solr uses a document router to assign a document to a shard. There are two basic document routing strategies:

  • compositeId (default)

  • Implicit

In compositeId (default), when we send documents to Solr for indexing, Solr uses the hash of the document to distribute the load to multiple Solr instances. Previously in this chapter, we added a few documents to the index. Now let's see how Solr distributes the load to multiple Solr instances.

As we're running two instances of Solr locally (shard1 on 8983 and shard2 on 8987), we'll run the following two queries with the distrib flag set to false. The flag will tell Solr to run the query in a non-distributed way, which means the result that we will get will be only for the shard on which the query is running:

  • shard1:

    curl "http://localhost:8983/solr/musicCatalogue-solrcloud...