Apache Solr - Arquitetura
Neste capítulo, discutiremos a arquitetura do Apache Solr. A ilustração a seguir mostra um diagrama de blocos da arquitetura do Apache Solr.
Arquitetura Solr ─ Blocos de Construção
A seguir estão os principais blocos de construção (componentes) do Apache Solr -
Request Handler- As solicitações que enviamos ao Apache Solr são processadas por esses manipuladores de solicitações. As solicitações podem ser solicitações de consulta ou solicitações de atualização de índice. Com base em nossos requisitos, precisamos selecionar o manipulador de solicitação. Para passar uma solicitação ao Solr, geralmente mapearemos o manipulador para um determinado ponto de extremidade de URI e a solicitação especificada será atendida por ele.
Search Component- Um componente de pesquisa é um tipo (recurso) de pesquisa fornecido no Apache Solr. Pode ser verificação ortográfica, consulta, facetação, destaque de hit, etc. Esses componentes de pesquisa são registrados comosearch handlers. Vários componentes podem ser registrados em um manipulador de pesquisa.
Query Parser- O analisador de consultas Apache Solr analisa as consultas que passamos ao Solr e verifica as consultas em busca de erros sintáticos. Depois de analisar as consultas, ele as traduz para um formato que Lucene entende.
Response Writer- Um escritor de resposta no Apache Solr é o componente que gera a saída formatada para as consultas do usuário. Solr oferece suporte a formatos de resposta como XML, JSON, CSV, etc. Temos diferentes escritores de resposta para cada tipo de resposta.
Analyzer/tokenizer- Lucene reconhece dados na forma de tokens. O Apache Solr analisa o conteúdo, divide-o em tokens e passa esses tokens para o Lucene. Um analisador no Apache Solr examina o texto dos campos e gera um fluxo de token. Um tokenizer divide o fluxo de tokens preparado pelo analisador em tokens.
Update Request Processor - Sempre que enviamos uma solicitação de atualização para Apache Solr, a solicitação é executada por meio de um conjunto de plug-ins (assinatura, registro, indexação), conhecidos coletivamente como update request processor. Este processador é responsável por modificações como eliminar um campo, adicionar um campo, etc.