Lucene Solr Architecture

•Just like all request handlers, update handlers can be mapped to a specific URL and have their own set of default or invariant parameters.
• Each update handler can have it’s own Update Processor Chain that can do Document-level operations prior to indexing, or even redirect indexing to a different server or create multiple documents (or zero) from a single one.
• All of the configuration is declarative, including the specification of update processor chains.

Lucene/Solr plugins
•RequestHandlers – handle a request at a URL like /select
•SearchComponents – part of a SearchHandler, a componentized request handler
–Includes, Query, Facet, Highlight, Debug, Stats
–Distributed Search capable
•UpdateHandlers – handle an indexing request
•Update Processor Chains – per-handler componentized chain that handle updates
•Query Parser plugins
–Mix and match query types in a single request
–Function plugins for Function Query
•Text Analysis plugins: Analyzers, Tokenizers, TokenFilters
•ResponseWriters serialize & stream response to client
 Each request handler can be mapped to a different URL • SearchHandler is a componentized RequestHandler that allows search components to be chained together and also enables the framework for distributed search operations. • Each Searchhandler can have it’s own custom set of search components, along with default or invariant parameters • All of the configuration is declarative – including adding new request handlers or search components. • The QueryResponse object is very generic and can handle returning any type of data
Each request handler can be mapped to a different URL
• SearchHandler is a componentized RequestHandler that allows search components to be chained together and also enables the framework for distributed search operations.
• Each Searchhandler can have it’s own custom set of search components, along with default or invariant parameters
• All of the configuration is declarative – including adding new request handlers or search components.
• The QueryResponse object is very generic and can handle returning any type of data