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.

  • 🔍 Definição de Solr: Código aberto, Java Servidor de busca baseado no Apache Lucene.
  • 🗂️ Indexação: Utiliza um índice invertido para armazenar e recuperar rapidamente documentos de texto.
  • 🌐 API REST: Comunicação via HTTP com JSON, XML ou CSV; não. Java necessário.
  • 🧩 Architextura: Analisador de consultas, manipulador de requisições, gravador de respostas e manipulador de atualizações.
  • ⚖️ Solr vs Elasticsearch: O Solr suporta XML/CSV/JSON e divisão de fragmentos; ambos utilizam o Lucene.
  • ☁️ Desdobramento, desenvolvimento: Modo independente ou SolrCloud com nós, fragmentos, réplicas e clusters.

Tutorial Apache Solr

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:

Apache Solr Archiarquitetura
Apache Solr Archiarquitetura

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
  • Fácil acesso para pesquisa
  • Lançamento do aplicativo
  • Notificação de notícias e eventos
  • Autenticação de logon único
Cliente Federado
  • Apresentação simplificada
  • Pesquise em todo o conteúdo
  • Apenas acesso autorizado
  • Visualização de documentos
Conjuntos de dados de instrumentos
  • Otimizado para cientistas
  • Menus dependentes de dados
  • Filtros de grade especializados
Documentos Regulatórios
  • Projetado para pesquisadores
  • Acesso rico a metadados
  • Exportações de planilhas
  • Ver acelerador de documentos
Incorporado no aplicativo PLM
  • Oferece melhor experiência de pesquisa do que um RDBMS poderia fornecer
  • Modelo de segurança de ligação tardia
  • Ações do documento expostas na barra de ferramentas

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”.

Instale o Apache Solr

Passo 2) Clique em Aceitar Termos
Na próxima página, clique em Aceitar os termos.

Instale o Apache Solr

Passo 3) Espere por algum tempo
Em seguida, aguarde algum tempo e então a solicitação será aceita após algum tempo.

Instale o Apache Solr

Passo 4) Continuar para configuração
Atualize a página e clique em “Continuar para configuração”

Instale o Apache Solr

Passo 5) Continuar para o lançamento
Mantenha as configurações padrão e clique em “Continuar para iniciar”.

Instale o Apache Solr

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”

Instale o Apache Solr

Você verá esta mensagem de sucesso

Instale o Apache Solr

Passo 7) Observe o DNS público
No console EC2, observe o DNS público da sua instância

Instale o Apache Solr

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

Instale o Apache Solr

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:

Instale o Apache Solr

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

Perguntas Frequentes

Ambos são construídos sobre o Apache Lucene. O Solr é totalmente de código aberto, suporta XML, CSV e JSON, permite a divisão de shards e possui boa documentação. O Elasticsearch aceita apenas JSON, não suporta a divisão de shards e é frequentemente escolhido para análises em tempo real.

Um núcleo Solr é um índice de textos e campos derivados de documentos, combinado com sua configuração Solr. Uma única instância Solr pode hospedar um ou mais núcleos, cada um atuando como um índice Lucene independente.

O Apache Solr é um wrapper HTTP baseado em API REST para o Apache Lucene, um Java Mecanismo de busca de texto completo. O Lucene fornece o índice invertido, enquanto o Solr adiciona escalabilidade, configuração, APIs REST e uma interface administrativa.

A IA pode adicionar busca semântica e vetorial, modelos de aprendizado de classificação e compreensão de consultas ao Solr. Isso apresenta resultados mais relevantes, lida com sinônimos e intenção, e aprimora o preenchimento automático e as recomendações.

Sim. A IA pode recomendar campos de esquema, analisadores e configurações de cache, detectar consultas lentas e sugerir estratégias de fragmentação e replicação, ajudando no gerenciamento de recursos.ping As equipes ajustam o Solr para obter desempenho e relevância com menos tentativas e erros.

Resuma esta postagem com: