Solr Interview Questions & Answer
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.
Solrconfig.xml file contains configuration for data directory.
schema.xml file contains definition of the field types and fields of documents.
- 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
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.
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).
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.
Field type defines how Solr would interpret data in a field and how that field can be queried.
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.
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.