Thursday, February 23, 2017

Apache Solr Interview Questions and Answers

Solr is an open source enterprise search platform, written in Java, from the Apache Lucene project. Its major features include full-text search, hit highlighting, faceted search, real-time indexing, dynamic clustering, database integration, NoSQL features and rich document (e.g., Word, PDF) handling. Providing distributed search and index replication, Solr is designed for scalability and fault tolerance.Solr is the second-most popular enterprise search engine after Elasticsearch.

Solr is very popular now a days for web development. Here we are listing most popular and frequently asked Solr interview questions with answers:

What is Apache Solr?
Apache Solr is a standalone full-text search platform to perform searches on multiple websites and index documents using XML and HTTP. Built on a Java Library called Lucence, Solr supports a rich schema specification for a wide range and offers flexibility in dealing with different document fields. It also consists of an extensive search plugin API for developing custom search behavior.

What file contains configuration for data directory?
Solrconfig.xml file contains configuration for data directory.

What file contains definition of the field types and fields of documents?
schema.xml file contains definition of the field types and fields of documents.

What are the features of Apache Solr?
• Allows Scalable, high performance indexing Near real-time indexing
• Standards-based open interfaces like XML, JSON and HTTP
• Flexible and adaptable faceting
• Advanced and Accurate full-text search
• Linearly scalable, auto index replication, auto failover and recovery
• Allows concurrent searching and updating
• Comprehensive HTML administration interfaces
• Provides cross-platform solutions that are index-compatible

What is Apache Lucene?
Supported by Apache Software Foundation, Apache Lucene is a free, open-source, high-performance text search engine library written in Java by Doug Cutting. Lucence facilitates full-featured searching, highlighting, indexing and spellchecking of documents in various formats like MS Office docs, HTML, PDF, text docs and others.

What is request handler?
When a user runs a search in Solr, the search query is processed by a request handler. SolrRequestHandler is a Solr Plugin, which illustrates the logic to be executed for any request.Solrconfig.xml file comprises several handlers (containing a number of instances of the same SolrRequestHandler class having different configurations).

What is the use of field type?
Field type defines how Solr would interpret data in a field and how that field can be queried.

What all information is specified in field type?
A field type includes four types of information:
• Name of field type
• Field attributes
• An implementation class name
• If the field type is Text Field , a description of the field analysis for the field type.

Explain Faceting in Solr.
As the name suggests, Faceting is the arrangement and categorization of all search results based on their index terms. The process of faceting makes the searching task smoother as users can look for the exact results.

Also Read: PHP Interview Questions for Freshers with Answers

What are the advantages and disadvantages of Standard Query Parser?
Also known as Lucence Parser, the Solr standard query parser enables users to specify precise queries through a robust syntax. However, the parser’s syntax is vulnerable to many syntax errors unlike other error-free query parsers like DisMax parser.

Define Dynamic Fields?
Dynamic Fields are a useful feature if users by any chance forget to define one or more fields. They allow excellent flexibility to index fields that have not been explicitly defined in the schema.
analyzing of input text is performed at the time of searching or indexing and at query time. Most Solr applications use Custom Analyzers defined by users. Remember, each Analyzer has only one Tokenizer. You can define an analyzer in the application using the below syntax:

What is the use of tokenizer?
It is used to split a stream of text into a series of tokens, where each token is a subsequence of characters in the text. The token produced are then passed through Token Filters that can add, remove or update the tokens. Later,that field is indexed by the resulting token stream.

What is phonetic filter?
Phonetic filter creates tokens using one of the phonetic encoding algorithms in the org.apache.commons.codec.language package.

What is SolrCloud?
Apache Solr facilitates fault-tolerant, high-scalable searching capabilities that enable users to set up a highly-available cluster of Solr servers. These capabilities are well revered as SolrCloud.

What is copying field?
It is used to describe how to populate fields with data copied from another field.

What is Highlighting?
Highlighting refers to the fragmentation of documents matching the user’s query included in the query response. These fragments are then highlighted and placed in a special section, which is used by clients and users to present the snippets. Solr consists of a number of highlighting utilities having control over different fields. The highlighting utilities can be called by Request Handlers and reused with standard query parsers.

Name different types of highlighters?
There are 3 highlighters in Solr:
• Standard Highlighter: provides precise matches even for advanced queryparsers.
• FastVector Highlighter: Though less advanced than Standard Highlighter, it works better for more languages and supports Unicode breakiterators.
• Postings Highlighter: Much more precise, efficient and compact than the above vector one but inappropriate for a more number of query terms.

What is the use of stats.field?
It is used to generate statistics over the results of arbitrary numeric functions.

What command is used to see how to use the bin/Solr script?
Execute $ bin/Solr –helpto see how to use the bin/Solr script.

Also Read: jQuery Interview Questions and Answers for Freshers

Which syntax is used to stop Solr?
$ bin/solr stop -p 8983 is used to stop Solr.

Which command is used to start Solr in foreground?
$ bin/solr start –f is used to start Solr in foreground.

$ bin/solr status is used to check Solr running status.

Give the syntax to start the server.
$ bin/solr start is used to start the server.

How to shut down Apache Solr?
Solr is shut down from the same terminal where it was launched. Click Ctrl+C to shut it down.

What data is specified by Schema?
Schema declares –
• how to index and search each field
• what kinds of fields are available
• what fields are required
• what field should be used as the unique/primary key

Name the basic Field types in Solr.
• date
• long
• double
• text
• float

How to install Solr?
The three steps of Installation are:
1. Server-related files, e.g. Tomcat or start.jar (Jetty)
2. Solr webapp as a .war
3. Solr Home which comprises the data directory and configuration files

What are the important configuration files of Solr?
Solr supports two important configuration files
1. solrconfig.xml
2. schema.xml

What are the most common elements in solrconfig.xml?
The most common elements in solrconfig.xml are:
1. Search components
2. Cache parameters
3. Data directory location
4. Request handlers


  1. Pretty blog, so many ideas in a single site, thanks for the informative article, keep updating more article.
    software testing course in Chennai

    1. IEEE Project Domain management in software engineering is distinct from traditional project deveopment in that software projects have a unique lifecycle process that requires multiple rounds of testing, updating, and faculty feedback. A IEEE Domain project Final Year Projects for CSE system development life cycle is essentially a phased project model that defines the organizational constraints of a large-scale systems project. The methods used in a IEEE DOmain Project systems development life cycle strategy Project Centers in Chennai For CSE provide clearly defined phases of work to plan, design, test, deploy, and maintain information systems.

      This is enough for me. I want to write software that anyone can use, and virtually everyone who has an internet connected device with a screen can use apps written in JavaScript. JavaScript Training in Chennai JavaScript was used for little more than mouse hover animations and little calculations to make static websites feel more interactive. Let’s assume 90% of all websites using JavaScript use it in a trivial way. That still leaves 150 million substantial JavaScript Training in Chennai JavaScript applications.

  2. Hi Thanks for the nice information its very useful to read your blog.
    Advanced SEO Training