Différence entre Solr et Lucene

Je sais que Lucene et Solr sont deux projets Apache différents qui sont faits pour fonctionner ensemble, mais je ne comprends pas quel est le but de chaque projet.

Pour ce que j’ai compris jusqu’à présent, Lucene est utilisé pour créer un index de recherche et Solr utilise cet index pour effectuer des recherches. Ai-je raison ou est-ce une approche totalement différente?

@darkheir: Lucene et Solr sont deux projets Apache différents conçus pour fonctionner ensemble, je ne comprends pas quel est le but 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’append 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. Il ne s’agit pas seulement d’un wrapper http autour de Lucene, mais il est connu pour append plus d’arsenal à Lucene . Solr est prêt à l’emploi. Il s’agit d’une application Web qui offre une infrastructure connexe et beaucoup plus de fonctionnalités en plus de ce que Lucene propose.

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

4) Lucene ne se contente pas de créer l’index pour la consommation de Solr . Lucene gère toutes les opérations liées à la recherche. Toute application peut utiliser le framework Lucene.

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

Découvrez cet article: Lucene vs Solr

MISE À JOUR (18/06/14)

Quand utiliser Lucene?

  • Vous êtes ingénieur de recherche ET
  • Vous êtes programmeur ET
  • Vous voulez un contrôle total sur presque tous les internes de Lucene AND
  • 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 dissortingbution, etc.

Quand utiliser Solr?

  • Au moins l’un des éléments ci-dessus n’a pas de sens. OU
  • Vous voulez quelque chose qui est prêt à utiliser out-of-the-box (même sans connaissance de Java) OU
  • Vos besoins en infrastructure dépassent les exigences de personnalisation de la recherche.

NOTE : Je ne veux pas dire que Solr est difficile à personnaliser. Solr est très flexible et fournit beaucoup de points API enfichables, vous permettant de jeter votre code.

Il y a des gens qui relèvent du camp de Lucene , mais qui préfèrent toujours Solr à Lucene, car il est facile à utiliser. Cependant, ils ne se limitent jamais à personnaliser au maximum Solr.

BTW, je vois qu’il y a plus de ressources sur Solr (4.x) que Lucene (4.x).

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

Solr est un produit / application Web préconfiguré autonome qui utilise Lucene. Si vous préférez traiter avec l’API HTTP au lieu de l’API Java, Solr est pour vous. Solr a également quelques fonctionnalités supplémentaires (par exemple, le regroupement ).

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 un moteur, mais vous pouvez conduire une voiture. De même, Lucene est une bibliothèque programmatique que vous ne pouvez pas utiliser en tant que tel, alors que Solr est une application complète que vous pouvez utiliser sans délai.

Source: Lucene-vs-solr – Tutoriel Lucene

SOLR est un wrapper sur l’index Lucene.

C’est simple à comprendre: SOLR est une voiture et Lucene est son moteur . Vous avez juste besoin de savoir comment conduire une voiture (SOLR) et vous devez également connaître peu de choses sur le moteur (Lucene) en cas de problème avec le moteur de votre voiture.

Avoir un lecteur sûr 🙂

Solr s’appuie sur lucene pour fournir une plateforme de recherche.

Plate-forme de recherche dans les couches suivantes de bas en haut:

  • Les données
    • Objectif: Représenter divers types de données et sources
  • La construction de documents
    • Objectif: Construire des informations de 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 et des résultats de recherche
  • 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

pile de solr

Article de référence: Recherche d’entreprise

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

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

TLDR: Lucence est juste le moteur, Solar est la voiture que vous pouvez conduire (équipé de repos-api etc.)