Apache Solr - Visão geral
Solr é uma plataforma de pesquisa de código aberto que é usada para construir search applications. Foi construído em cima deLucene(motor de pesquisa de texto completo). Solr está pronto para a empresa, rápido e altamente escalável. Os aplicativos desenvolvidos com o Solr são sofisticados e oferecem alto desempenho.
isso foi Yonik Seelyque criou o Solr em 2004 para adicionar recursos de pesquisa ao site da empresa da CNET Networks. Em janeiro de 2006, tornou-se um projeto de código aberto sob a Apache Software Foundation. Sua última versão, Solr 6.0, foi lançada em 2016 com suporte para execução de consultas SQL paralelas.
Solr pode ser usado junto com o Hadoop. Como o Hadoop lida com uma grande quantidade de dados, o Solr nos ajuda a encontrar as informações necessárias de uma fonte tão grande. Além de pesquisar, o Solr também pode ser usado para fins de armazenamento. Como outros bancos de dados NoSQL, é umnon-relational data storage e processing technology.
Resumindo, o Solr é um mecanismo de pesquisa / armazenamento escalonável e pronto para implantar, otimizado para pesquisar grandes volumes de dados centrados em texto.
Recursos do Apache Solr
Solr envolve a API Java do Lucene. Portanto, usando o Solr, você pode aproveitar todos os recursos do Lucene. Vamos dar uma olhada em algumas das características mais importantes do Solr -
Restful APIs- Para se comunicar com o Solr, não é obrigatório ter conhecimentos de programação Java. Em vez disso, você pode usar serviços de descanso para se comunicar com ele. Entramos documentos no Solr em formatos de arquivo como XML, JSON e .CSV e obtemos resultados nos mesmos formatos de arquivo.
Full text search - Solr fornece todos os recursos necessários para uma pesquisa de texto completo, como tokens, frases, verificação ortográfica, curinga e preenchimento automático.
Enterprise ready - De acordo com a necessidade da organização, o Solr pode ser implantado em qualquer tipo de sistema (grande ou pequeno) como autônomo, distribuído, nuvem, etc.
Flexible and Extensible - Ao estender as classes Java e configurar de acordo, podemos personalizar os componentes do Solr facilmente.
NoSQL database - Solr também pode ser usado como banco de dados NOSQL de escala de big data, onde podemos distribuir as tarefas de pesquisa ao longo de um cluster.
Admin Interface - Solr fornece uma interface de usuário fácil de usar, amigável e com recursos, com a qual podemos realizar todas as tarefas possíveis, como gerenciar logs, adicionar, excluir, atualizar e pesquisar documentos.
Highly Scalable - Ao usar o Solr com Hadoop, podemos dimensionar sua capacidade adicionando réplicas.
Text-Centric and Sorted by Relevance - Solr é usado principalmente para pesquisar documentos de texto e os resultados são entregues de acordo com a relevância com a consulta do usuário na ordem.
Ao contrário do Lucene, você não precisa ter habilidades de programação Java ao trabalhar com o Apache Solr. Ele fornece um serviço maravilhoso pronto para implantar para construir uma caixa de pesquisa com preenchimento automático, que o Lucene não fornece. Usando o Solr, podemos dimensionar, distribuir e gerenciar índices para aplicativos de grande escala (Big Data).
Lucene em aplicativos de pesquisa
Lucene é uma biblioteca de pesquisa simples, porém poderosa, baseada em Java. Ele pode ser usado em qualquer aplicativo para adicionar capacidade de pesquisa. Lucene é uma biblioteca escalável e de alto desempenho usada para indexar e pesquisar virtualmente qualquer tipo de texto. A biblioteca Lucene fornece as operações principais que são exigidas por qualquer aplicativo de pesquisa, comoIndexing e Searching.
Se tivermos um portal da web com um grande volume de dados, provavelmente precisaremos de um mecanismo de pesquisa em nosso portal para extrair informações relevantes do enorme pool de dados. O Lucene funciona como o coração de qualquer aplicativo de pesquisa e fornece as operações vitais relativas à indexação e pesquisa.