Tutorial Apache Solr: O que é Solr? Archiarquitetura e instalação

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

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 Solr Core pode ser definido como um índice de textos e campos derivados de todos os documentos. Uma instância Solr pode ter um ou vários núcleos Solr.

Core = uma instância da configuração Lucene Index + 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 em um Documento. A chave especifica o nome do campo e o valor que contém os dados do campo. Um documento pode ter um ou vários campos. É 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 passar para o Solr. Ele verifica sua consulta para verificar erros sintáticos. Depois de analisar as consultas, elas são traduzidas em um formato conhecido 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 solicitação de consulta ou uma solicitação de atualização de índice. Você precisa selecionar o manipulador de solicitação de acordo com sua necessidade. Para passar uma solicitação ao Solr, você precisa mapear o manipulador para um terminal de URL específico.

Escritor de respostas

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 ao Apache Solr, ela é executada por meio de um conjunto de plug-ins, assinatura, registro e indexação. Este processo é conhecido como processador de solicitação de atualização. Manipulador de atualização também responsável por modificações como adicionar ou eliminar arquivos, 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 o URL abaixo
Para acessar o Solr, basta usar a 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 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 pesquisa 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

Resumo

  • Apache Solr é um código aberto API REST servidor de pesquisa baseado
  • Apache Solr foi desenvolvido na CNET por Yonik Seeley como parte de um projeto interno da empresa
  • Apache Solr oferece recursos como preenchimento automático e pesquisa geoespacial
  • Solr Core, Solr Instance, Indexing, Document, Restful APIs, Full-text search, Admin Interface, etc. são alguns termos-chave usados ​​​​no Apache Solr
  • Consulta, manipulador de solicitação, gravador de solicitação e manipuladores de atualização são alguns dos componentes importantes do Apache Solr
  • Portal de intranet, cliente federado, conjuntos de dados de instrumentos, documentos regulatórios, incorporados em aplicativos PLM são aplicativos úteis do Apache Solr
  • O Apache Solr está bem documentado em comparação com a pesquisa elástica que está mal documentada
  • A maior vantagem do Apache Solr é que ele ajuda a reduzir o tempo necessário para localizar informações
  • A principal desvantagem deste aplicativo: não é um armazenamento de dados compatível com ACID