Solr Architecture ─ Building Blocks
Following are the major building blocks of Apache Solr:
Solr Architecture ─ Building Blocks Request Handler:
- The requests that send to Solr are processed by the request handlers.
- The requests may be a query requests otherwise index update requests.
- It is based on our requirement; we need to choose the request handler.
- To pass a request to Solr, we generally map the handler to a certain URI end-point and the particular request will be served by it.
Search Component:
- The search component is a type of search provided in Apache Solr.
- It might be spell checking, faceting, query, and hit highlighting and so on.
- These search components are registered as search handlers. Multiple components can be registered to a search handler.
Query Parser:
- The Apache Solr query parser parses the queries that we pass to Solr and verifies the queries for syntactical errors.
- After parsing the queries, it translates them to a format which Lucene understands.
Response Writer:
- A response writer is the component which generates the formatted outcome for the user queries.
- Apache Solr supports response formats some are XML, JSON, CSV, etc.
- We have different response writers for each type of response.
Analyser/tokenizer:
- Lucene recognizes data in the form of tokens.
- Apache Solr analyses the content, divides it into tokens, and passes these tokens to Lucene.
- An analyser examines the text of fields and generates a token stream.
- A tokenizer breaks the token stream prepared by the analyser into tokens.
Update Request Processor:
- Whenever we send an update request to Apache Solr, the request is run through a set of plugins (signature, logging, indexing), collectively known as update request processor.
- This processor is responsible for modifications that are adding a field, dropping a field, etc.