Ir para o conteúdo principal

Solr - Estudo de servidor de busca

INTRODUÇÃO

Apache Solr (pronunciada como "solar") é uma popular ferramenta de busca altamente eficiente. Esta foi escrita em Java, de código aberto pelo projeto Apache Lucene.

Seu funcionamento básico consiste na indexação de documentos via JSON, XML, CSV ou binários pelo HTTP. Ou seja, ao realizar consultas via HTTP GET, ela retornará resultados em JSON, XML, CSV ou resultados binários.


BENEFÍCIOS NA UTILIZAÇÃO

O Apache Solr conta com diversos benefícios em sua utilização, dentre eles estão:

  • Recursos avançados de pesquisa de texto completo;
  • Suporte a pesquisas de alto volume;
  • Suporte a consultas baseadas em REST API;
  • Interface de administração avançada;
  • Fácil monitoramento
  • Altamente escalável;
  • Tolerante a falhas;
  • Cache altamente configurável e extensível ao usuário;
  • Etc;

Por implementar o padrão HTTP Rest-like APIs com suporte a XML e JSON, é possível integra-lo em qualquer sistema ou linguagem de programação que dê suporte a estes padrões. Existem bibliotecas específicas para Java, C#, PHP, Python, Ruby, entre várias outras linguagens.


IMPLEMENTAÇÃO E HISTÓRIAS DE USUÁRIO

Para a devida implementação do Solr, é necessário levar em consideração as mudanças na arquitetura vigente.

Em uma típica aplicação cliente-server, a API recebe requisições que são convertidas para operações de CRUD pelo servidor que irá operar na base de dados:

1.png

Porém, ao implementar o Solr os dados passam a ser duplicados, então estes residirão na base de dados e no Solr, logo a arquitetura será mudada para:

2.png

Nem todos os dados serão duplicados, apenas os dados necessários para a consulta das aplicações. Sendo possível escolher realizar consultas na base de dados ou então no Solr.

Para a implementação do Solr no sistema Alpha, foram levantadas as seguintes histórias de usuário.

HISTÓRIA

PONTUAÇÃO

Configurar instância do Solr no OpenShift

?

Instalar e configurar no projeto Alpha Solicitações

34

Instalar e configurar no projeto Alpha Serviços

34

Integrar principais consultas do Alpha Solicitações com o Solr

13

Integrar principais consultas do Alpha Serviços com o Solr

13

TOTAL

94

 

POSSÍVEIS PROBLEMAS NA UTILIZAÇÃO


PRINCIPAIS ALTERNATIVAS


VALOR AGREGADO


CONCLUSÃO


REFERÊNCIAS