Sei que Lucene e Solr são dois projetos diferentes do Apache que são feitos para trabalhar juntos, mas não entendo qual é o objetivo de cada projeto.
Pelo que entendi até agora, o Lucene é usado para criar um índice de pesquisa e o Solr usa esse índice para realizar pesquisas. Estou certo ou é uma abordagem totalmente diferente?
Respostas:
@darkheir: Lucene e Solr são dois projetos diferentes do Apache que são feitos para trabalhar juntos, não entendo qual é o objetivo de cada projeto.
1) Solr usa Lucene sob o capô. Lucene não tem idéia sobre a API Solr.
2) Lucene é uma poderosa estrutura de mecanismo de pesquisa que nos permite adicionar recursos de pesquisa ao nosso aplicativo. Ele expõe uma API fácil de usar enquanto oculta todas as operações complexas relacionadas à pesquisa. Qualquer aplicativo pode usar esta biblioteca, não apenas o Solr.
3) Solr é construído em torno do Lucene. Não é apenas um invólucro http em torno do Lucene, mas é conhecido por adicionar mais arsenal ao Lucene . O Solr está pronto para uso pronto para uso. É um aplicativo da web que oferece infraestrutura relacionada e muito mais recursos, além do que o Lucene oferece.
@arkheir: Lucene é usado para criar um índice de pesquisa e o Solr usa esse índice para realizar pesquisas. Estou certo ou é uma abordagem totalmente diferente?
4) Lucene não cria apenas o Índice para o consumo da Solr . O Lucene lida com todas as operações relacionadas à pesquisa. Qualquer aplicativo pode usar a estrutura Lucene.
Exemplos são Solr, Elastic Search, LinkedIn (sim, sob o capô), etc.
Confira este artigo: Lucene vs Solr
ATUALIZAÇÃO (18/6/14)
Quando usar o Lucene?
Quando usar o Solr?
NOTA : Não quero dizer que o Solr seja difícil de personalizar. O Solr é muito flexível e fornece muitos pontos de API conectáveis, permitindo que você introduza seu código.
Há pessoas que se enquadram no campo ' tem que usar Lucene ', mas ainda preferem Solr a planificar Lucene, pois é fácil de usar. No entanto, eles nunca se restringem a personalizar o Solr na extensão máxima.
BTW, vejo que há mais recursos no Solr (4.x) que Lucene (4.x).
fonte
Lucene é uma biblioteca Java de baixo nível (com portas para .NET etc.) que implementa indexação, análise, pesquisa etc.
O Solr é um produto / aplicativo da web independente e pré-configurado que usa o Lucene. Se você prefere lidar com a API HTTP em vez da API Java, o Solr é para você. O Solr também possui alguns recursos extras (por exemplo, agrupamento ).
fonte
Fonte: Lucene-vs-solr - Tutorial Lucene
fonte
O Solr é construído sobre o lucene para fornecer uma plataforma de pesquisa.
Pesquise a plataforma nas seguintes camadas, de baixo para cima:
Artigo de referência: Pesquisa corporativa
fonte
SOLR é um invólucro sobre o índice Lucene.
É simples de entender: SOLR é carro e Lucene é seu motor . Você só precisa saber como dirigir um carro (SOLR) e também conhecer algumas coisas do motor (Lucene), caso haja algum problema no motor do seu carro.
Tenha uma unidade segura :)
fonte
Você pode imaginar da seguinte maneira - Apache Lucene é a biblioteca usada internamente pelo Apache Solr. Está escrito em Java e oferece incríveis recursos de pesquisa e indexação de texto completo. Ele pode analisar um grande número de idiomas de todo o mundo e preparar o texto nesses idiomas para uma pesquisa e análise eficientes e rápidas. O Lucene é uma biblioteca - você pode usá-lo diretamente em seu aplicativo e implementar tudo sozinho, mas o Apache Solr fornece muito de imediato.
O mecanismo de pesquisa do Apache Solr fornece coisas como APIs HTTP que você pode usar para enviar dados a eles e pesquisar posteriormente nesses dados. Você pode controlar os mecanismos de pesquisa usando a API, criar ambientes distribuídos e distribuir automaticamente os dados por vários nós e muitos, muitos mais.
fonte
Você pode encontrar uma boa comparação sobre o propósito da lucência e da energia solar aqui:
http://www.lucenetutorial.com/lucene-vs-solr.html
TLDR: Lucence é apenas o motor, Solar é o carro que você pode dirigir (equipado com rest-api etc.)
fonte