Apache Solr Beginner's Guide
Publisher: Packt Publishing
Published: Dec 26, 2013
Language: eng
Format: paperback
Number of pages: 324
ISBN-13: 9781782162520
Description: Written in a friendly, example-driven format, the book includes plenty of step-by-step instructions and examples that are designed to help you get started with Apache Solr. This book is an entry level text into the wonderful world of Apache Solr. The book will center around a couple of simple projects such as setting up Solr and all the stuff that comes with customizing the Solr schema and configuration. This book is for developers looking to start using Apache Solr who are stuck or intimidated by the difficulty of setting it up and using it. For anyone wanting to embed a search engine in their.
Table of contents: title: Preface
pagenum: 1; label: Chapter 1
title: Getting Ready with the Essentials
pagenum: 7; title: Understanding Solr
pagenum: 7; title: Learning the powerful aspects of Solr
pagenum: 8; title: Working with Java installation
pagenum: 11; title: Downloading and installing Java
pagenum: 12; title: Configuring CLASSPATH and PATH variables for Java
pagenum: 12; title: Installing and testing Solr
pagenum: 12; title: Time for action - starting Solr for the first time
pagenum: 14; title: Taking a glance at the Solr interface
pagenum: 15; title: Time for action - posting some example data
pagenum: 17; title: Time for action - testing Solr with cURL
pagenum: 19; title: Who uses Solr?
pagenum: 20; title: Resources on Solr
pagenum: 20; title: How will we use Solr?
pagenum: 21; title: Summary
pagenum: 22; label: Chapter 2
title: Indexing with Local PDF Files
pagenum: 23; title: Understanding and using an index
pagenum: 23; title: Posting example documents to the first Solr core
pagenum: 24; title: Analyzing the elements we need in Solr core
pagenum: 25; title: Time for action - configuring Solr Home and Solr core discovery
pagenum: 26; title: Knowing the legacy solr.xml format
pagenum: 27; title: Time for action - writing a simple solrconfig.xml file
pagenum: 28; title: Time for action - writing a simple schema.xml file
pagenum: 29; title: Time for action - starting the new core
pagenum: 32; title: Time for action - defining an example document
pagenum: 34; title: Time for action - indexing an example document with cURL
pagenum: 35; title: Executing the first search on the new core
pagenum: 37; title: Adding documents to the index from the web UI
pagenum: 39; title: Time for action - updating an existing document
pagenum: 41; title: Time for action - cleaning an index
pagenum: 41; title: Creating an index prototype from PDF files
pagenum: 42; title: Time for action - defining the schema.xml file with only dynamic fields and tokenization
pagenum: 42; title: Time for action - writing a simple solrconfig.xml file with an update handler
pagenum: 43; title: Testing the PDF file core with dummy data and an example query
pagenum: 44; title: Defining a new tokenized field for fulltext
pagenum: 45; title: Time for action - using Tika and cURL to extract text from PDFs
pagenum: 46; title: Using cURL to index some PDF data
pagenum: 48; title: Time for action - finding copies of the same files with deduplication
pagenum: 48; title: Time for action - looking inside an index with SimpleTextCodec
pagenum: 50; title: Understanding the structure of an inverted index
pagenum: 52; title: Understanding how optimization affects the segments of an index
pagenum: 53; title: Writing the full configuration for our PDF index example
pagenum: 53; title: Writing the solrconfig.xml file
pagenum: 53; title: Writing the schema.xml file
pagenum: 54; title: Summarizing some easy recipes for the maintenance of an index
pagenum: 55; title: Summary
pagenum: 58; label: Chapter 3
title: Indexing Example Data from DBpedia - Paintings
pagenum: 59; title: Harvesting paintings' data from DBpedia
pagenum: 59; title: Analyzing the entities that we want to index
pagenum: 61; title: Analyzing the first entity - Painting
pagenum: 62; title: Writing Solr core configurations for the first tests
pagenum: 63; title: Time for action - defining the basic solrconfig.xml file
pagenum: 63; title: Looking at the differences between commits and soft commits
pagenum: 65; title: Time for action - defining the simple schema.xml file
pagenum: 65; title: Introducing analyzers, tokenizers, and filters
pagenum: 67; title: Thinking fields for atomic updates
pagenum: 68; title: Indexing a test entity with JSON
pagenum: 68; title: Understanding the update chain
pagenum: 70; title: Using the atomic update
pagenum: 70; title: Understanding how optimistic concurrency works
pagenum: 72; title: Time for action - listing all the fields with the CSV output
pagenum: 73; title: Defining a new Solr core for our Painting entity
pagenum: 73; title: Time for action - refactoring the schema.xml file for the paintings core by introducing tokenization and stop words
pagenum: 74; title: Using common field attributes for different use cases
pagenum: 76; title: Testing the paintings schema
pagenum: 76; title: Collecting the paintings data from DBpedia
pagenum: 77; title: Downloading data using the DBpedia SPARQL endpoint
pagenum: 77; title: Creating Solr documents for example data
pagenum: 79; title: Indexing example data
pagenum: 79; title: Testing our paintings core
pagenum: 79; title: Time for action - looking at a field using the Schema browser in the web interface
pagenum: 80; title: Time for action - searching the new data in the paintings core
pagenum: 80; title: Using the Solr web interface for simple maintenance tasks
pagenum: 83; title: Summary
pagenum: 85; label: Chapter 4
title: Searching the Example Data
pagenum: 87; title: Looking at Solr's standard query parameters
pagenum: 87; title: Adding a timestamp field for tracking the last modified time
pagenum: 88; title: Sending Solr's query parameters over HTTP
pagenum: 89; title: Testing HTTP parameters on browsers
pagenum: 89; title: Choosing a format for the output
pagenum: 90; title: Time for action - searching for all documents with pagination
pagenum: 90; title: Time for action - projecting fields with fl
pagenum: 92; title: Introducing pseudo-fields and DocTransformers
pagenum: 94; title: Adding a constant field using transformers
pagenum: 94; title: Time for action - adding a custom DocTransformer to hide empty fields in the results
pagenum: 95; title: Looking at core parameters for queries
pagenum: 96; title: Using the Lucene query parser with defType
pagenum: 98; title: Time for action - searching for terms with a Boolean query
pagenum: 98; title: Time for action - using q.op for the default Boolean operator
pagenum: 99; title: Time for action - selecting documents with the filter query
pagenum: 100; title: Time for action - searching for incomplete terms with the wildcard query
pagenum: 101; title: Time for action - using the Boost options
pagenum: 102; title: Understanding the basic Lucene score
pagenum: 102; title: Time for action - searching for similar terms with fuzzy search
pagenum: 103; title: Time for action - writing a simple phrase query example
pagenum: 104; title: Time for action - playing with range queries
pagenum: 104; title: Time for action - sorting documents with the sort parameter
pagenum: 105; title: Playing with the request
pagenum: 106; title: Time for action - adding a default parameter to a handler
pagenum: 106; title: Playing with the response
pagenum: 108; title: Summarizing the parameters that affect result presentation
pagenum: 109; title: Analyzing response format
pagenum: 110; title: Time for action - enabling XSLT Response Writer with Luke
pagenum: 111; title: Listing all fields names with CSV output
pagenum: 112; title: Listing all field details for a core
pagenum: 112; title: Exploring Solr for Open Data publishing
pagenum: 113; title: Publishing results in CSV format
pagenum: 113; title: Publishing results with an RSS feed
pagenum: 113; title: Good resources on Solr Query Syntax
pagenum: 114; title: Summary
pagenum: 115; label: Chapter 5
title: Extending Search
pagenum: 117; title: Looking at different search parsers - Lucene, Dismax, and Edismax
pagenum: 117; title: Starting from the previous core definition
pagenum: 118; title: Time for action - inspecting results using the stats and debug components
pagenum: 118; title: Looking at Lucene and Solr query parsers
pagenum: 121; title: Time for action - debugging a query with the Lucene parser
pagenum: 122; title: Time for action - debugging a query with the Dismax parser
pagenum: 124; title: Using an Edismax default handler
pagenum: 125; title: Time for action - executing a nested Edismax query
pagenum: 127; title: A short list of search components
pagenum: 128; title: Adding the blooming filter and real-time Get
pagenum: 130; title: Time for action - executing a simple pseudo-join query
pagenum: 131; title: Highlighting results to improve the search experience
pagenum: 132; title: Time for action - generating highlighted snippets over a term
pagenum: 132; title: Some idea about geolocalization with Solr
pagenum: 134; title: Time for action - creating a repository of cities
pagenum: 135; title: Playing more with spatial search
pagenum: 137; title: Looking at the new Solr 4 spatial features - from points to polygons
pagenum: 137; title: Time for action - expanding the original data with coordinates during the update process
pagenum: 139; title: Performing editorial correction on boosting
pagenum: 141; title: Introducing the spellcheck component
pagenum: 142; title: Time for action - playing with spellchecks
pagenum: 143; title: Using a file to spellcheck against a list of controlled words
pagenum: 147; title: Collecting some hints for spellchecking analysis
pagenum: 148; title: Summary
pagenum: 150; label: Chapter 6
title: Using Faceted Search - from Searching to Finding
pagenum: 151; title: Exploring documents suggestion and matching with faceted search
pagenum: 151; title: Time for action - prototyping an auto-suggester with facets
pagenum: 152; title: Time for action - creating wordclouds on facets to view and analyze data
pagenum: 153; title: Thinking about faceted search and findability
pagenum: 155; title: Faceting for narrowing searches and exploring data
pagenum: 156; title: Time for action - defining facets over enumerated fields
pagenum: 158; title: Performing data normalization for the keyword field during the update phase
pagenum: 160; title: Reading more about Solr faceting parameters
pagenum: 161; title: Time for action - finding interesting topics using faceting on tokenized fields with a filter query
pagenum: 161; title: Using filter queries for caching filters
pagenum: 164; title: Time for action - finding interesting subjects using a facet query
pagenum: 166; title: Time for action - using range queries and facet range queries
pagenum: 168; title: Time for action - using a hierarchical facet (pivot)
pagenum: 169; title: Introducing group and field collapsing
pagenum: 170; title: Time for action - grouping results
pagenum: 171; title: Playing with terms
pagenum: 173; title: Time for action - playing with a term suggester
pagenum: 173; title: Thinking about term vectors and similarity
pagenum: 176; title: Moving to semantics with vector space models
pagenum: 177; title: Looking at the next step - customizing similarity
pagenum: 177; title: Time for action - having a look at the term vectors
pagenum: 178; title: Reading about functions
pagenum: 180; title: Introducing the More Like This component and recommendations
pagenum: 181; title: Time for action - obtaining similar documents by More Like This
pagenum: 182; title: Adopting a More Like This handler
pagenum: 183; title: Summary
pagenum: 184; label: Chapter 7
title: Working with Multiple Entities, Multicores, and Distributed Search
pagenum: 185; title: Working with multiple entities
pagenum: 185; title: Time for action - searching for cities using multiple core joins
pagenum: 186; title: Preparing example data for multiple entities
pagenum: 188; title: Downloading files for multiple entities
pagenum: 189; title: Generating Solr documents
pagenum: 189; title: Playing with joins on multicores (a core for every entity)
pagenum: 190; title: Using sharding for distributed search
pagenum: 190; title: Time for action - playing with sharding (distributed search)
pagenum: 191; title: Time for action - finding a document from any shard
pagenum: 193; title: Collecting some ideas on schemaless versus normalization
pagenum: 195; title: Creating a single denormalized index
pagenum: 196; title: Adding a field to track entity type
pagenum: 196; title: Analyzing, designing, and refactoring our domain
pagenum: 197; title: Using document clustering as a domain analysis tool
pagenum: 197; title: Managing index replication
pagenum: 201; title: Clustering Solr for distributed search using SolrCloud
pagenum: 202; title: Taking a journey from single core to SolrCloud
pagenum: 202; title: Understanding why we need Zookeeper
pagenum: 203; title: Time for action - testing SolrCloud and Zookeeper locally
pagenum: 203; title: Looking at the suggested configurations for SolrCloud
pagenum: 205; title: Changing the schema.xml file
pagenum: 205; title: Changing the solrconfig.xml file
pagenum: 205; title: Knowing the pros and cons of SolrCloud
pagenum: 206; title: Summary
pagenum: 208; label: Chapter 8
title: Indexing External Data sources
pagenum: 209; title: Stepping further into the real world
pagenum: 209; title: Collecting example data from the Web Gallery of Art site
pagenum: 213; title: Time for action - indexing data from a database (for example, a blog or an e-commerce website)
pagenum: 215; title: Time for action - handling sub-entities (for example, joins on complex data)
pagenum: 220; title: Time for action - indexing incrementally using delta imports
pagenum: 222; title: Time for action - indexing CSV (for example, open data)
pagenum: 224; title: Time for action - importing Solr XML document files
pagenum: 225; title: Importing data from another Solr instance
pagenum: 228; title: Indexing emails
pagenum: 228; title: Time for action - indexing rich documents (for example, PDF)
pagenum: 229; title: Adding more consideration about tuning
pagenum: 230; title: Understanding Java Virtual Machine, threads, and Solr
pagenum: 231; title: Choosing the correct directory for implementation
pagenum: 231; title: Adopting Solr cache
pagenum: 232; title: Time for action - indexing artist data from Tate Gallery and DBpedia
pagenum: 233; title: Using DataImportHandler
pagenum: 236; title: Summary
pagenum: 238; label: Chapter 9
title: Introducing Customizations
pagenum: 239; title: Looking at the Solr customizations
pagenum: 239; title: Adding some more details to the core discovery
pagenum: 240; title: Playing with specific languages
pagenum: 241; title: Time for action - detecting language with Tika and LangDetect
pagenum: 242; title: Introducing stemming for query expansion
pagenum: 243; title: Time for action - adopting a stemmer
pagenum: 245; title: Testing language analysis with JUnit and Scala
pagenum: 246; title: Writing new Solr plugins
pagenum: 247; title: Introducing Solr plugin structure and lifecycle
pagenum: 248; title: Implementing interfaces for obtaining information
pagenum: 248; title: Following an example plugin lifecycle
pagenum: 248; title: Time for action - writing a new ResponseWriter plugin with the Thymeleaf library
pagenum: 250; title: Using Maven for development
pagenum: 254; title: Time for action - integrating Stanford NER for Named Entity extraction
pagenum: 256; title: Pointing ideas for Solr's customizations
pagenum: 259; title: Summary
pagenum: 263; label: Appendix
title: Solr Clients and Integrations
pagenum: 265; title: Introducing SolrJ - an embedded or remote Solr client using the Java (JVM) API
pagenum: 265; title: Time for action - playing with an embedded Solr instance
pagenum: 266; title: Choosing between an embedded or remote Solr instance
pagenum: 268; title: Time for action - playing with an external HttpSolrServer
pagenum: 269; title: Time for action - using Bean Scripting Framework and JavaScript
pagenum: 271; title: Jahia CMS
pagenum: 272; title: Magnolia CMS
pagenum: 272; title: Alfresco DMS and CMS
pagenum: 273; title: Liferay
pagenum: 273; title: Broadleaf
pagenum: 273; title: Apache Jena
pagenum: 274; title: Solr Groovy or the Grails plugin
pagenum: 274; title: Solr scala
pagenum: 274; title: Spring data
pagenum: 274; title: Writing Solr clients and integrations outside JVM
pagenum: 275; title: JavaScript
pagenum: 276; title: Taking a glance at ajax-solr, solrstrap, facetview, and jcloud
pagenum: 277; title: Ruby
pagenum: 281; title: Python
pagenum: 281; title: C# and .NET
pagenum: 281; title: PHP
pagenum: 282; title: Drupal
pagenum: 282; title: WordPress
pagenum: 282; title: Magento e-commerce
pagenum: 282; title: Platforms for analyzing, manipulating, and enhancing text
pagenum: 283; title: Hydra
pagenum: 283; title: UIMA
pagenum: 283; title: Apache Stanbol
pagenum: 283; title: Carrot2
pagenum: 284; title: VuFind
pagenum: 284; title: Summary
pagenum: 285; title: Pop Quiz Answers
pagenum: 287; title: Index
pagenum: 297