6

Couden't find any compare questions related to sunspot (Solr) to Elastic Search (Lucene) ¿Cuál sería el pro y el contra en ambos motores de búsqueda?Comparación elástica de búsqueda de manchas solares en las características

Vi otras preguntas de VS para mejorar en la comparación de 2 gemas, así que espero que se pueda obtener una mejor visión de los dos motores para novatos (como yo). Ya he observado las manchas solares pero tengo algunos problemas. Así que busqué

vs

+0

Solr es una capa de servicio encima de Lucene. Solo depende de cómo quieras diseñar. –

+1

Una pregunta de comparación más adecuada sería Solr vs ElasticSearch, o Sunspot vs Tire. –

Respuesta

8

Creo que debería buscar una comparación entre Solr y elasticsearch. De hecho, la mancha solar se basa en Solr, y tanto Solr como la búsqueda elástica se basan en Lucene. Son dos proyectos diferentes con objetivos similares, ambos construidos sobre Lucene.

Aquí hay dos comparaciones:

ElasticSearch, Sphinx, Lucene, Solr, Xapian. Which fits for which usage?

http://www.findbestopensource.com/article-detail/solr-vs-elasticsearch

+0

De acuerdo, no sabía que ambos estuvieran basados ​​en Lucene, excelentes enlaces con mucha información muchas gracias por publicarlos. – Rubytastic

+0

¡De nada! Siempre contento de ayudar! – javanna

10

empecé a trabajar en un proyecto que requiere la búsqueda de texto completo en Ruby por lo que, naturalmente, empecé con Solr + de manchas solares, pero no podía haz que funcione Fue un dolor solo conectarlos, luego intenté averiguar si el documento estaba indexado correctamente, averiguar el classpath de tiempo de ejecución para poder agregar clases adicionales de analizador/tokenizer, editar config.xml/schema.xml, etc. Solr numDocs claramente dijo que los recibió e indexó pero no pude obtener ningún resultado de consulta. Me rendí después de un par de días, fue una especie de infierno de configuración.

ElasticSearch + Tire fue muy fácil de poner en marcha, lo conseguí trabajando en una hora.

Lucene es solo una biblioteca de búsqueda Java, por lo tanto Solr fue desarrollada para ser una aplicación de búsqueda de servicio completo, pero Solr todavía tiene toda la trampa de una aplicación de Java típica: configuraciones XML excesivamente complicadas, especulativas, esperan documentos XML para indexación, requiere un contenedor de servlets de Java (Jetty o Tomcat), que se convierten en demasiados puntos de falla para mí.

ElasticSearch está basado en Lucene también, tiene un contenedor de servlets incorporado, así que simplemente ejecute como un daemon, use una API JSON + REST muy directa, por lo que es ideal para pruebas y un ajuste más natural para Ruby. Es sin esquema y funcionó para mí sin siquiera editar un archivo de configuración. Todo funcionó maravillosamente.

Lo que realmente necesitaba era la búsqueda en chino y ElasticSearch ya incluía el SmartChineseAnalyzer de Luecene como complemento. No estoy seguro de lo difícil que será personalizar la cadena del analizador/tokenizador si necesita ese nivel de personalización. La documentación para ElasticSearch y Tire son de primera categoría.

neumáticos (librería Ruby para Elasticsearch)

https://github.com/karmi/tire

Usted puede probar la demo, que va a instalar un searchApp rieles, descargue el Elasticsearch binario y lo dirige, a continuación, iniciar WEBrick automáticamente.

$ rails new searchapp -m https://raw.github.com/karmi/tire/master/examples/rails-application-template.rb 

En mi sistema se quejaron de no tener un motor de Javascript (Rails 3.2 ya no incluye thereubyracer joya por defecto?), Así que tuve que:

$ wget https://raw.github.com/karmi/tire/master/examples/rails-application-template.rb 
$ nano rails-application-template.rb 

añadir joya 'therubyracer' en el ARCHIVO (buscar joya 'de neumáticos' y joya 'will_paginate'), entonces ...

$ rails new searchapp -m rails-application-template.rb 

para el desarrollo de mi propia aplicación, sólo downladed el archivo tar Elasticsearch y se ejecutan en el primer plano con el modificador -f (por lo Puedo fácilmente st op por Ctrl-C)

$ bin/elasticsearch -f 

Puede instalar el plugin eleasticsearch-cabeza para conseguir una interfaz de administración web

https://github.com/mobz/elasticsearch-head

También algo que descubrí: si tiene de uno a En muchos modelos de relaciones, Tire no los resolverá en los resultados de búsqueda, solo devuelve una colección plana. Sus relaciones has_many y belongs_to solo serán identificadores de objetos en la colección en lugar de objetos completos.

Cuestiones relacionadas