Sé que Lucene y Solr son 2 proyectos Apache diferentes que están diseñados para trabajar juntos, pero no entiendo cuál es el objetivo de cada proyecto.
Lo que entendí hasta ahora es que Lucene se usa para crear un índice de búsqueda y Solr usa este índice para realizar búsquedas. ¿Estoy en lo cierto o es un enfoque totalmente diferente?
Respuestas:
@darkheir: Lucene y Solr son 2 proyectos Apache diferentes que están hechos para trabajar juntos, no entiendo cuál es el objetivo de cada proyecto.
1) Solr usa Lucene debajo del capó. Lucene no tiene idea de la API de Solr.
2) Lucene es un potente marco de motor de búsqueda que nos permite agregar capacidad de búsqueda a nuestra aplicación. Expone una API fácil de usar al tiempo que oculta todas las operaciones complejas relacionadas con la búsqueda. Cualquier aplicación puede usar esta biblioteca, no solo Solr.
3) Solr está construido alrededor de Lucene. No es solo un envoltorio http alrededor de Lucene, sino que se sabe que agrega más arsenal a Lucene . Solr está listo para usar de fábrica. Es una aplicación web que ofrece infraestructura relacionada y muchas más funciones además de lo que ofrece Lucene.
@darkheir: Lucene se usa para crear un índice de búsqueda y Solr usa este índice para realizar búsquedas. ¿Estoy en lo cierto o es un enfoque totalmente diferente?
4) Lucene no solo crea el Índice para el consumo de Solr . Lucene maneja todas las operaciones relacionadas con la búsqueda. Cualquier aplicación puede usar el marco Lucene.
Ejemplos son Solr, Elastic Search, LinkedIn (sí, bajo el capó), etc.
Mira este artículo: Lucene vs Solr
ACTUALIZACIÓN (18/06/14)
¿Cuándo usar Lucene?
¿Cuándo usar Solr?
NOTA : No quiero decir que Solr sea difícil de personalizar. Solr es muy flexible y proporciona muchos puntos de API conectables, lo que le permite agregar su código.
Hay personas, que caen en el campamento ' tengo que usar Lucene ', pero aún prefieren Solr a Lucene simple, ya que es fácil de usar. Sin embargo, nunca se limitan a personalizar Solr al máximo.
Por cierto, veo que hay más recursos en Solr (4.x) que Lucene (4.x).
fuente
Lucene es una biblioteca Java de bajo nivel (con puertos a .NET, etc.) que implementa indexación, análisis, búsqueda, etc.
Solr es un producto / aplicación preconfigurada independiente que utiliza Lucene. Si prefiere tratar con la API HTTP en lugar de la API Java, Solr es para usted. Solr también tiene algunas características adicionales en la parte superior (por ejemplo, agrupación ).
fuente
Fuente: Lucene-vs-solr - Tutorial de Lucene
fuente
Solr está construido sobre lucene para proporcionar una plataforma de búsqueda.
Plataforma de búsqueda en las siguientes capas de abajo hacia arriba:
Artículo de referencia: búsqueda empresarial
fuente
SOLR es un contenedor sobre el índice de Lucene.
Es simple de entender: SOLR es automóvil y Lucene es su motor . Solo necesita saber cómo conducir un automóvil (SOLR) y también debe saber algunas cosas del motor (Lucene) en caso de que haya algún problema en el motor de su automóvil.
Tener un disco seguro :)
fuente
Puede imaginarlo de la siguiente manera: Apache Lucene es la biblioteca que internamente utiliza Apache Solr. Está escrito en Java y proporciona sorprendentes capacidades de búsqueda e indexación de texto completo. Puede analizar una gran cantidad de idiomas de todo el mundo y preparar el texto en dichos idiomas para una búsqueda y análisis eficiente y rápido. Lucene es una biblioteca: puede usarla directamente en su aplicación e implementar todo usted mismo, pero el Apache Solr proporciona mucho de forma inmediata.
El motor de búsqueda Apache Solr proporciona cosas como las API HTTP que puede usar para enviarles datos y luego buscar en esos datos. Puede controlar los motores de búsqueda utilizando la API, crear entornos distribuidos y distribuir automáticamente los datos en múltiples nodos y muchos, muchos más.
fuente
Puede encontrar una buena comparación sobre el propósito de lucence y solar aquí:
http://www.lucenetutorial.com/lucene-vs-solr.html
TLDR: Lucence es solo el motor, Solar es el automóvil que puede conducir (equipado con API de descanso, etc.)
fuente