2010-11-28 16 views
6

Estoy evaluando métodos de búsqueda de texto completo para Rails 3 ATM. ¿Alguien aquí tiene una recomendación? Me parece que la mayoría de los métodos conocidos (manchas solares, esfinge, hurón, Xapian) aún no están listos para Rails 3. ¿Es así? Por el momento, me quedan muchos recursos en la máquina si quisiera implementar mi aplicación, pero me gustaría mantener la carga inactiva para el motor de búsqueda lo más baja posible. Planeo usar PostgreSQL si eso tiene alguna relevancia aquí.Búsqueda de texto completo para Rails 3

Después de leerlo, estoy casi seguro de que me gustaría usar Sunspot o Xapian. Pero si hay alguna otra (y mejor) solución dime :-) Especialmente con respecto a Sunspot, no estoy seguro de si fue inteligente tener un Tomcat completo funcionando además de mi aplicación Rails. ¿Alguien tiene experiencia con esta constelación?

Gracias de antemano, Ulf

Respuesta

6

Si está utilizando PostgreSQL, puede obtener una gran cantidad de capacidades de búsqueda de texto integradas antes de tener que buscar bibliotecas externas. He estado usando consultas de búsqueda durante años con excelentes resultados.

La búsqueda de texto completo de PostgreSQL analiza la proximidad de palabras para calcular Relevance & ranking y ofrece características útiles como highlighting of search results.

También es consciente de las reglas de normalización del idioma específico, por ejemplo, se sabe ignorar el s y es sufijos de pluralización en Inglés; por lo que las búsquedas de 'país' también traerán resultados destacados para 'países', de forma muy similar a como lo hace Google.

No sugiero que no deba usar las bibliotecas que ha mencionado, pero vale la pena investigar la base de datos para ver si ya cumplen la mayoría, si no todos sus requisitos.

+0

Estoy muy contento con esta solución. Gracias. –

+0

Gracias ulf. ¡Tu comentario de hoy es una gran coincidencia! Acabo de escribir en este momento una publicación de blog sobre este mismo tema (Búsqueda de texto completo en PostgreSQL). Lo publicaré en algún momento más tarde hoy. – Scott

+0

Es bueno escuchar eso :-). –

0

Para las funciones de búsqueda de texto completo, usted debe utilizar un motor de búsqueda. Por ejemplo, podría usar la Biblioteca Lucene con jRuby. Si te gusta quedarte con Ruby estándar (cRuby) puedes usar Solr.

Para los rieles también hay algunos complementos de Solr: Por ejemplo, comenzar con http://wiki.apache.org/solr/SolRuby podría ser una buena idea.

1

Puede usar manchas solares con Rails3, no hay problema. Lo hemos hecho con éxito utilizando las gemas sunspot/sunspot_rails (1.2.rc4). Y no es demasiado complicado ejecutar Solr dentro de un servidor Tomcat.

0

Sunspot está listo para Rails3, ya lo estamos utilizando en algunas aplicaciones de Rails3. He tenido mucho éxito con Solr y Sunspot. Tanto que estamos comenzando un blog series on it

Cuestiones relacionadas