Tutorial Apache Solr: O que é Solr? Archiarquitetura
⚡ Resumo Inteligente
O Apache Solr é um software de código aberto. JavaServidor de busca baseado em Apache Lucene. Indexa grandes volumes de dados textuais e retorna resultados relevantes via APIs REST, oferecendo busca de texto completo, facetas, escalabilidade e modos de implantação tanto independente quanto em SolrCloud.

O que é Apache Solr?
Apache Solr é uma plataforma de servidor de pesquisa de código aberto escrita em Java linguagem da Apache Software Foundation. É altamente escalável e pronto para implementar um mecanismo de busca para lidar com um grande volume de dados centrados em texto. O propósito de usar o Apache Solr é indexar e pesquisar uma grande quantidade de conteúdo da web e fornecer conteúdo relevante com base na consulta de pesquisa.
Apache Solr é um wrapper HTTP baseado em REST-API em torno do mecanismo de pesquisa de texto completo chamado Apache Lucene. Um índice invertido é uma lista de palavras onde cada entrada de palavra está vinculada aos documentos nos quais está armazenada. Dessa forma, obtendo todos os documentos para a consulta de pesquisa “guru99” com uma simples operação 'get'.
História do Apache Solr
- 1999: Doug Cutting publicou Lucene
- 2004: Solr foi desenvolvido na CNET por Yonik Seeley como um projeto interno da empresa.
- 2006: CNET publica o código-fonte doando-o ao Apache Software Foundation
- 2008: Solr 1.3 foi lançado com recursos aprimorados de pesquisa e melhorias de desempenho
- 2010: Fusão da Lucene e Solr
- 2012: Solr versão 4.0 foi lançada, com novo recurso Solr Cloud
- 2016: Foi lançado Solr 6.0, que oferece suporte para execução de consultas SQL paralelas
- 2017: O Solr 7.0 foi lançado, adicionando um framework de escalonamento automático e a API JSON Facet.
- 2019: O Solr 8.0 foi lançado com suporte a documentos aninhados e expressões de streaming aprimoradas.
- 2021: Lucene e Solr se separaram novamente, e o Solr se tornou um projeto independente de nível superior da Apache.
- 2022: O Solr 9.0 foi lançado como a primeira versão independente do Lucene, adicionando busca vetorial e suporte ao Kubernetes.
- 2026: O Solr 10.0 foi lançado como a versão principal mais recente.
Recursos do Apache Solr
Aqui estão recursos importantes do Apache Solr:
- Balanceamento de carga automático
- Interfaces abertas baseadas em padrões – XML, JSON e HTTP
- Recomendações e sugestões ortográficas são suportadas
- Suporte para preenchimento automático e pesquisa geoespacial
- Segurança integrada para autenticação e autorização
- Permite que você realize uma pesquisa por palavra-chave multilíngue
- Predição de preenchimento automático/digitação antecipada
- Processamento em lote e streaming
- Construir modelos de aprendizado de máquina é fácil
- Especialmente otimizado para tráfego web de alto volume
- Interfaces de admiração HTML abrangentes
- Suporta configuração Schema e Schemaless
- Pesquisa facetada e filtragem
- Configuração central para todo Cluster
Termos-chave usados no Apache Solr
Agora, neste tutorial do mecanismo de pesquisa Solr, aprenderemos sobre os principais termos usados no Apache Solr:
| Termo-chave | Descrição |
|---|---|
| Núcleo Solr | O Solr Core pode ser definido como um índice de textos e campos derivado de todos os documentos. Uma instância do Solr pode ter um ou mais Solr Cores. Core = uma instância de índice Lucene + configuração do Solr. |
| Instância Solr | Instância Solr é uma instância do Solr em execução no Java Máquina virtual (JVM). No modo Standalone, oferece apenas uma instância, enquanto no modo nuvem você pode ter uma ou mais instâncias. |
| Indexação | A indexação é um método para adicionar o conteúdo do documento ao Índice Solr. Apache Solr usa a técnica de índice invertido Apache Lucene. |
| ISO | É um grupo de campos e seus valores. Um documento é uma unidade básica de dados armazenada no Apache Core. Um núcleo do Apache pode conter um ou mais documentos. |
| Campo | O campo é um par chave-valor que armazena os dados reais de um documento. A chave especifica o nome do campo e o valor contém os dados desse campo. Um documento pode ter um ou mais campos. Ele é usado pelo Apache Solr para indexar o conteúdo do documento. |
| APIs Restful | Para se comunicar com o Solr não é necessário ter utilizado Java programação. Em vez disso, o Apache Solr fornece serviços repousantes para se comunicar com ele. Você pode enviar documentos e receber resultados em vários formatos de arquivo, como JSON, XML e CSV. |
| Pesquisa de texto completo | Solr oferece recursos para pesquisa de texto completo, como tokens, frases, verificação ortográfica, preenchimento automático, curinga, etc. |
| Interface de administração | Solr oferece uma interface de usuário fácil de usar, amigável e com recursos. Usando a interface você pode realizar tarefas como gerenciar logs, adicionar, excluir, atualizar e pesquisar documentos. |
| Centrado no texto e classificado por relevância | Apache Solr é usado para pesquisar documentos de texto e os resultados são entregues de acordo com a consulta do usuário. |
| Node | Na nuvem Solr, cada instância é conhecida como nó. |
| Cluster | Um cluster é uma coleção de nós. |
| Coleção | Um cluster possui um índice lógico que também é chamado de coleção. |
| Estilhaço | É uma pequena área da coleção que oferece réplicas únicas ou múltiplas do índice. |
| Réplica | Uma réplica é uma cópia do fragmento executada em um nó. |
| Líder | É uma réplica do shard, que envia as solicitações do Solr Cloud para o restante das réplicas. |
Apache Solr Archiarquitetura
Agora, neste tutorial de pesquisa do Solr, vamos aprender sobre o Apache Solr Architextura:

O Apache Solr compromete os seguintes componentes
pergunta
O analisador de consultas analisa as consultas que você precisa enviar para o Solr. Ele verifica sua consulta para detectar erros de sintaxe. Após analisar as consultas, ele as traduz para um formato reconhecido pelo Lucene.
Manipulador de solicitações
As solicitações enviadas ao Apache Solr são processadas pelo manipulador de solicitações. A solicitação pode ser uma consulta ou uma atualização de índice. Você precisa selecionar o manipulador de solicitações de acordo com sua necessidade. Para enviar uma solicitação ao Solr, você precisa mapear o manipulador para um local específico. URL ponto final.
Automatizadas Writer
Um gravador de resposta gerará saídas formatadas para consultas de entrada. Suporta vários formatos como XML, JSON, CSV.etc. Você pode ter diferentes redatores de respostas para diferentes tipos de solicitações.
Manipulador de atualização
Quando você envia uma solicitação de atualização para o Apache Solr, ela é processada por um conjunto de plugins, assinaturas, registros e indexação. Esse processo é conhecido como processador de solicitações de atualização. O manipulador de atualizações também é responsável por modificações como adicionar ou remover itens.ping arquivado, etc.
Aplicativos Apache Solr
| Aplicação | Uso |
|---|---|
| Portal da intranet |
|
| Cliente Federado |
|
| Conjuntos de dados de instrumentos |
|
| Documentos Regulatórios |
|
| Incorporado no aplicativo PLM |
|
Como instalar o Apache Solr?
Passo 1) Abra o site e continue a se inscrever
Vá para isto link, Clique em “Continuar para se inscrever”.
Passo 2) Clique em Aceitar Termos
Na próxima página, clique em Aceitar os termos.
Passo 3) Espere por algum tempo
Em seguida, aguarde algum tempo e então a solicitação será aceita após algum tempo.
Passo 4) Continuar para configuração
Atualize a página e clique em “Continuar para configuração”
Passo 5) Continuar para o lançamento
Mantenha as configurações padrão e clique em “Continuar para iniciar”.
Passo 6) Mantenha as configurações padrão
Na próxima página, mantenha as configurações padrão
- Certifique-se de ter o arquivo pem da chave
- Clique em “Iniciar”
Você verá esta mensagem de sucesso
Passo 7) Observe o DNS público
No console EC2, observe o DNS público da sua instância
Passo 8) Abra abaixo URL
Para acessar o Solr, basta usar o URL
http://publicdns:8983
no nosso caso, torna-se
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
Observação: se você tiver problemas para acessar a instância, altere as regras de entrada e saída em sua instância para permitir todo o tráfego, conforme mostrado no exemplo de consulta Solr abaixo:
Elasticsearch vs. Apache Solr
| Parâmetros Técnicos | Apache Solr | Pesquisa elástica |
|---|---|---|
| Natureza | É um projeto de código aberto. | Não é um projeto de código aberto. |
| Status estático | Estático em shema.xml | Estático em elasticsearch.yml |
| Formato | XML, CSV, JSON | Apenas JSON |
| Índice | Pode ser recarregado durante o tempo de execução com recarga de coleção/núcleo | Definido durante a criação de índice/tipo com uma chamada REST |
| Documentação | Está bem documentado. | Está mal documentado. |
| Dividindo fragmentos | Possiveis | Não é possivel |
Vantagens do Apache Solr
- Ajuda você a reduzir o tempo necessário para localizar informações
- É um mecanismo de busca rápido, simples, poderoso e flexível.
- Ajuda você a tornar seus produtos e serviços mais acessíveis
- Aumente os gastos do cliente em um aplicativo da web
- Ajuda você a melhorar a experiência do usuário no aplicativo da web para aumentar a receita e o lucro
- Interface de administração abrangente baseada em HTML
- Flexível e adaptável com configuração XML
- Plug-in extensível Archiarquitetura
- Mecanismo de pesquisa altamente escalável, robusto e tolerante a falhas
- Suporta Distribuído, Sombreamento, Replicação, Clustering e multinó Archiarquitetura
Desvantagens do Apache Solr
- Não é um armazenamento de dados compatível com ACID
- Não é útil como armazenamento de dados primário. Útil apenas como armazenamento de dados secundário
- Não oferece suporte para transações e transações distribuídas
- Não suporta junções e consultas complexas
- Não é ideal para dados normalizados










