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

Facet navigation


We've seen previously how Solr provides a facet, by using which we can put indexed data into groups depending on the fields. Let's see how we can improve user experience while selecting the type of music by grouping music into genres.

We can use facet=true to enable faceting of fields, and then use facet.field=genre to return the number of songs that are in each category. The search query will return only the facet data and will look like this:

http://localhost:8983/solr/musicStore/select?q=*%3A*&start=0&rows=0&wt=json&indent=true&facet=true&facet.field=genre

As we're interested in the facet data only, we've specified rows=0. This URL will return us the following data:

{
   "responseHeader":{   },
   "response":{   },
   "facet_counts":{
      "facet_queries":{ },
      "facet_fields":{
         "genre":[
            "Pop", 3,
            "Dance/Electronic", 2
         ]
      },
      "facet_dates":{},
      "facet_ranges":{},
      "facet_intervals...