2011-04-19 13 views
9

Estoy construyendo una aplicación de Rails 3 que se alojará en Heroku.Text Search for Rails 3 en Heroku - Texticle vs acts_as_tsearch vs acts_as_indexed

Para poner en práctica la búsqueda de texto completo, éstas son las alternativas libres que he encontrado:

Texticle

acts_as_tsearch

acts_as_indexed

Mi aplicación va a ser grandes volúmenes de datos con una mucha lectura y escritura La búsqueda también se usará mucho.

La búsqueda va a ser en diferentes modelos.

¿Cuál será el mejor en términos de rendimiento y escalado?

¿Hay alguna otra alternativa libre y mejor?

¿Es mejor utilizar un IndexTank o WebSolr (que Heroku recommends)?

¡Gracias de antemano!

+9

Realmente solo puedo comentar en acts_as_indexed ya que soy el desarrollador de la misma. En términos de escalado, AAI nunca logra la coherencia con más de un Heroku Dyno, ya que no tienen un sistema de archivos compartido. Esto no ha sido un problema para la mayoría de las personas, pero podría ser un problema en ciertas situaciones. Si desea una escalabilidad real en Heroku, entonces IndexTank y WebSolr son el camino a seguir. –

+0

Gracias Douglas por su respuesta. ¿Es posible que use acts_as_indexed para comenzar? Cuando quiero que mi aplicación se escale, ¿cambio a IndexTank o WebSolr? –

+0

Sí, esto es lo que normalmente recomiendo a las personas. –

Respuesta

0

Recomendaría usar WebSolr. Es un sistema de búsqueda a nivel empresarial basado en Apache Solr, que puede manejar millones de documentos indexados sin esfuerzo. Además, Solr le permite definir una estructura personalizada para sus datos, en lugar de forzarlo a seguir una simple búsqueda FULLTEXT. Ofrece funciones adicionales, como la búsqueda facetada y la corrección ortográfica.

Si no desea pagar por Solr, puede alojar usted mismo, ya que es de código abierto: http://lucene.apache.org/solr/

Con respecto a las alternativas que usted ha mencionado, si usted está haciendo una cantidad sustancial de búsqueda, No utilizaría nada que dependa de la base de datos de su aplicación para realizar búsquedas de texto completo, es una solución muy amateur que no se escala.

0

Heroku recommends using an add-on para proporcionar la búsqueda de texto completo. Esto le proporciona el mejor rendimiento, escalabilidad y facilidad de uso para su aplicación. Hay dos complementos para la búsqueda de texto completo: IndexTank y Websolr.

+0

El enlace de Indextank ya no funciona, tampoco puedo encontrar IndexTank en la lista de complementos de Heroku, ¿lo eliminaron o cambiaron su nombre? Tampoco parezco poder alcanzar su sitio web. – Cninroh

12

¿Has probado PgSearch https://github.com/Casecommons/pg_search? Como heroku usa pg, en realidad obtienes la búsqueda de texto completo gratis, y PgSearch construye ámbitos con nombre que aprovechan la búsqueda de texto completo de PostgreSQL.