web-dev-qa-db-fra.com

Différence entre solr et lucene

Je sais que Lucene et Solr sont deux personnes différentes projets Apache qui sont conçues pour fonctionner ensemble, mais je ne comprends pas le but de chaque projet.

Ce que j'ai compris jusqu'à présent, c'est que Lucene est utilisée pour créer un index de recherche et que Solr utilise cet index pour effectuer des recherches. Ai-je raison ou s'agit-il d'une approche totalement différente?

151
darkheir

@ darkheir: Lucene et Solr sont deux projets Apache différents conçus pour fonctionner ensemble, je ne comprends pas quel est l'objectif de chaque projet.

1) Solr utilise Lucene sous le capot. Lucene n'a aucune idée de l'API Solr.

2) Lucene est un puissant moteur de recherche qui nous permet d’ajouter des fonctionnalités de recherche à notre application. Il expose une API facile à utiliser tout en masquant toutes les opérations complexes liées à la recherche. Toute application peut utiliser cette bibliothèque, pas seulement Solr.

3) Solr est construit autour de Lucene. Ce n'est pas simplement un http-wrapper autour de Lucene mais il est connu que ajoute plus d'arsenal à Lucene . Solr est prêt à l'emploi, prêt à l'emploi. C'est une application Web qui offre une infrastructure connexe et beaucoup plus de fonctionnalités en plus de celles de Lucene.

@ darkheir: Lucene est utilisée pour créer un index de recherche et Solr utilise cet index pour effectuer des recherches. Ai-je raison ou s'agit-il d'une approche totalement différente?

4) Lucene ne crée pas seulement l'indice pour la consommation de Solr . Lucene gère toutes les opérations liées à la recherche. Toute application peut utiliser le framework Lucene.

Les exemples sont Solr, Elastic Search, LinkedIn (oui, sous le capot), etc.

Consultez cet article: Lucene vs Solr

UPDATE (18/06/14)

Quand utiliser Lucene?

  • Vous êtes un ingénieur de recherche ET
  • Vous êtes programmeur ET
  • Vous voulez un contrôle total sur presque tous les éléments internes de Lucene ET
  • Vos exigences vous obligent à faire toutes sortes de personnalisation geek à Lucene ET
  • Vous êtes prêt à prendre en charge les éléments d'infrastructure de votre recherche, tels que la mise à l'échelle, la distribution, etc.

Quand utiliser Solr?

  • Au moins une de ces réponses n’avait aucun sens. OU
  • Vous voulez quelque chose qui est prêt à utiliser tout de suite (même sans connaissance de Java) OU
  • Vos besoins en infrastructure dépassent les besoins en personnalisation de la recherche.

[~ # ~] note [~ # ~] : Je ne veux pas dire que Solr est difficile à personnaliser. Solr est très flexible et fournit de nombreux points d'API enfichables, vous permettant d'ajouter votre code.

Il y a des gens qui tombent sous le camp ' doivent utiliser Lucene', mais préférez tout de même Solr à Lucene car elle est facile à utiliser. Cependant, ils ne s'empêchent jamais de personnaliser Solr au maximum.

D'ailleurs, je vois qu'il y a plus de ressources sur Solr (4.x) que Lucene (4.x).

219
phani

Lucene est une bibliothèque Java de bas niveau (avec des ports vers .NET, etc.) qui implémente l'indexation, l'analyse, la recherche, etc.

Solr est un produit/application Web préconfiguré autonome qui utilise Lucene. Si vous préférez utiliser l'API HTTP au lieu de Java, Solr est fait pour vous. Solr dispose également de fonctionnalités supplémentaires (p. Ex. groupement ).

28
mindas

Un moyen simple de conceptualiser la relation entre Solr et Lucene est celui d’une voiture et de son moteur. Vous ne pouvez pas conduire de moteur, mais vous pouvez conduire une voiture. De même, Lucene est une bibliothèque de programmation que vous ne pouvez pas utiliser telle quelle, alors que Solr est une application complète que vous pouvez utiliser directement.

Source: Lucene-vs-solr - Tutoriel Lucene

20
Vikas Kumar

SOLR est un wrapper sur l'indice de Lucene.

C'est simple à comprendre: SOLR est voiture et Lucene est son moteur. Vous avez juste besoin de savoir comment conduire une voiture (SOLR) et de connaître quelques notions de moteur (Lucene) au cas où il y aurait un problème dans le moteur de votre voiture.

Bonne route :)

9
Behzad Qureshi

Solr est construit sur Lucene pour fournir une plate-forme de recherche.

Plateforme de recherche dans les couches suivantes de bas en haut:

  • Les données
    • But: Représenter divers types de données et sources
  • Création de documents
    • Objectif: Créer des informations sur le document pour l'indexation
  • Indexation et recherche
    • Objectif: créer et interroger un index de document
  • Amélioration de la logique
    • Objectif: Logique supplémentaire pour le traitement des requêtes de recherche et des résultats
  • Service de plateforme de recherche
    • Objectif: Ajouter des fonctionnalités supplémentaires au cœur du moteur de recherche pour fournir une plate-forme de service.
  • Application d'interface utilisateur
    • Objectif: interface ou applications de recherche d'utilisateur final

solr stack

Article de référence: recherche d'entreprise

9
mingxue

Vous pouvez trouver une bonne comparaison sur le but de lucence et solaire ici:

http://www.lucenetutorial.com/lucene-vs-solr.html

TLDR: Lucence n'est que le moteur, Solar est la voiture que vous pouvez conduire (équipée d'une api de repos, etc.)

0
Martin Abraham