Otra opción es Sphinx y Thinking Sphinx http://www.sphinxsearch.com/ http://freelancing-god.github.com/ts/en/
y una que requiere mayor configuración pero es más potente es Solr que usa la librería de Java Lucene http://lucene.apache.org/solr/ http://github.com/railsfreaks/acts_as_solr Puede que me equivoque pero creo haber leído que Ferret se encuentra medio "abandonado" y que algunas veces los índices se corrompen. Si no es así, no me molestaría que me actualicen del estado de Ferret. Saludos, Ezequiel <http://www.sphinxsearch.com/> 2010/1/17 Matias Toselli <[email protected]> > Buenas gente, segunda vez que posteo una pregunta en la lista. Esta vez es > mas puntual (creo). Estamos trabajando en un proyecto y necesitabamos hacer > una busqueda de texto en la base de datos. Buscando nos encontramos con > Ferret y acts_as_ferret. Siguiendo la documentacion y los tutoriales en > internet tenemos el siguiente codigo: > > Modelo: > > class Item < ActiveRecord::Base > ... > acts_as_ferret :fields => [:title, :description] > ... > end > > > En el controller > > ... > @items = Item.find_with_ferret params[:keyword] > ... > > > La idea es que busque el keyword (texto) en el modelo Item por los campos > :title y :description. Haciendo solo eso no hemos conseguido una busqueda > que arroje resultados. Hemos probado de eliminar el index que crea para que > lo reconstruya pero sigue sin funcionar. En algunos caso pudimos obtener > resultados, pero luego deja de andar por algun motivo raro. La cuestion es > que renegamos mucho y la busqueda no anda bien, a veces funciona y a veces > no. > Otra cosa que no pudimos resolver bien es el tema del score. El plugin > tiene dos metodos (ademas de otros) que agrega al modelo: uno es > find_with_ferret y el otro find_ids_with_ferret. El primero realiza la > busqueda y arroja los objetos que contienen el keyword, la otra en cambio > retorna un array que contiene el modelo donde se encontro el resultado, un > campo data que no sabemos que podria contener (siempre lo vimos vacio), el > id del objeto y un score. Estaria interesante poder usar el score, pero > vimos que mucha gente opta por realizar la busqueda con ferret de los ids, y > luego buscar otra vez los ids para obtener los datos. No nos parece muy > correcto realizar una doble busqueda ¿hay alguna forma de hacer que el > plugin traiga el score de los resultados o los datos que nos interesan para > mostrar en los resultados, sin hacer una doble busqueda? > > Otra cosa que vemos es que la carpeta index la crea en un solo lado. > Estamos usando git en modo local y a mi compañero, al querer buscar y usar > el plugin no le crea el index en su copia local, sino que usa la mia. (el > repositorio y las copias locales estan en la misma maquina servidora), algo > conflictivo, porque usamos base de datos separadas a fin de no generar > conflictos en los archivos de sqlite entre pulls. > > En fin, la pregunta es ¿esta bien lo que estamos haciendo o hay que > configurar mas el plugin y la gema y escribir algun codigo adicional? Nose > si alguien estuvo renegando con eso. Y por otro lado ¿es bueno usar ese > plugin para busqueda de texto en los modelos o hay algo mejor? > > Cualquier consejo ayuda. > Gracias. > > > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > >
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
