ruby on rails - Rails 3 opciones de búsqueda de texto completo(gemas, complementos, etc.)
Me preguntaba si había alguna sugerencia sobre cómo mejorar la búsqueda de texto completo en las aplicaciones de Rails 3. Thinking Sphinx y acts_as_ferret aún no están actualizados para Rails 3, e incluso los ayudantes básicos de búsqueda en Activerecord como Searchlogic tampoco están todavía allí.
¿Alguna idea? ¿Estás utilizando versiones bifurcadas de las gemas anteriores que se han actualizado a Rails 3?
He ramificado y modificado acts_as_ferret para que funcione con rails 3 (ruby 1.8 y 1.9): https://github.com/brightchimp/acts_as_ferret
Todavía fallan 3 pruebas, por lo que sugiero que se ejecuten para ver que afectarán a tu aplicación (más como esta, clasificación y paginación (como resultado de la clasificación falla).
Tengo una solicitud de extracción pendiente para fusionar los cambios en el original. Mientras tanto, puedes usar mi rama especificando el repositorio git en tu archivo gema:
gem ''acts_as_ferret'', :git => ''git://github.com/brightchimp/acts_as_ferret.git''
La gema acts_as_ferret pareció caer en desgracia hace un tiempo, pero todavía la uso. No estoy seguro de por qué, pero vale la pena considerar si es la mejor opción para cualquier aplicación nueva.
Para una solución sin dependencias externas, puede intentar https://github.com/dougal/acts_as_indexed
Searchlogic se actualizó para funcionar con Rails3, puede encontrar la nueva versión aquí: http://github.com/railsdog/searchlogic
Aclamaciones
Thinking Sphinx (versión 2.x) debería funcionar con Rails 3 ( http://freelancing-god.github.com/ts/en/rails3.html ) y hay una rama de Rails 3 en el repositorio oficial.
Estoy empezando a usar el pensamiento esfinge en un proyecto de Rails 3, y hasta ahora parece funcionar bien para la búsqueda básica, aunque estoy teniendo algunos desafíos con acts_as_taggable_on.
http://github.com/kannanr/acts_as_solr_reloaded
Modifiqué un poco el código para trabajar con Rails 3 ...
Avísame si funciona / no ...
actualizar el cambio completo
Yo iría por Elasticsearch a través de Tyre
- súper rápido
- escalable
- configurable
- super poderoso
Este es un buen recurso para comenzar a aprender: http://exploringelasticsearch.com/book/searching-data/the-query-dsl-and-the-search-api.html