¿Me recomiendan usar Haystack o buscar "a mano"?

236 views
Skip to first unread message

Granjero Moe

unread,
Oct 27, 2011, 6:49:14 AM10/27/11
to Django-es
Hola.

Estoy haciendo una pequeña aplicación de gestión con Django y me
gustaría saber si me recomiendan usar Haystack paras las búsquedas o
no. No sé qué ventajas me puede suponer usar la app Haystack para
realizar las búsquedas.

Tengo unos 5 ó 6 modelos cada uno con su mantenimiento (listado,
edición) y mi idea es poner un campo de búsqueda en cada listado que
busque por los campos relevantes de cada modelo (código, nombre,
fecha, si tiene archivo o no,...)
Mi idea era hacer un def para cada modelo en el view.py que recibiera
como parámetro los textos que se pusieran en el campo del buscador y
filtrar los objetos que coincidieran para mostrarlos después en el
listado.

¿Me recomiendan usar Haystack para esto o hacerlo "a mano"?

Gracias.

Raúl Cumplido

unread,
Oct 27, 2011, 11:50:05 AM10/27/11
to djan...@googlegroups.com, granje...@gmail.com
Tengo entendido que Haystack utiliza Lucene como indexador para realizar las búsquedas. Todo depende de lo que quieras hacer para búsquedas sobre muchos elementos, documentos, etcétera yo usaría haystack.

Me han hablado muy bien aunque no lo he utilizado. No sé si te sirva de mucho :)

Saludos,

Raúl

2011/10/27 Granjero Moe <granje...@gmail.com>

--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
 Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
 Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.



--
Raúl Cumplido

Hans Roman

unread,
Oct 31, 2011, 3:25:33 PM10/31/11
to Django-es
¿Cuando dices a mano a que te refieres?

Haystack tiene un APi sencilla podríamos decir que es "djanguesque" y
a su vez un poco limitada (dependiendo que es lo que se quiere hacer).
Lo bueno es que puedes usar backends como xapian, lucene, solr, etc.

Si estuviera en tu lugar y usando Postgres, usaría solamente esto y su
FTS, con un paquete como django-postgresql. Ventajas muchas por
ejemplo, no tendría que preocuparme de instalar un servidor/librería
de búsqueda y luego preocuparme por su mantención. Incluso el fts de
mysql podría ser suficiente para la situación que describes.

Daniel Ceillan

unread,
Oct 31, 2011, 3:53:59 PM10/31/11
to djan...@googlegroups.com
Costo beneficio...

si tienes que filtrar (que no es lo mismo que buscar) por un par de campos en un listado, haystack no.

si tienes que hacer busquedas por texto plano, sin sugerir palabras similares ni nada raro... lo que seria un simple LIKE '%%' de SQL, o la base de datos sera pequeña. entonces haystack no.

si tienes una estructura de modelos compleja y cambiante,  y debes hacer busquedas inteligentes, con sugerencia, resaltado, y vas a tener una base de datos gigante y demas yerbas... haystack si

ademas soporta muchos motores de indexacion. yo uso whoosh que es de base python...

Saludetes.

--
Daniel Ceillan

Granjero Moe

unread,
Nov 5, 2011, 5:31:00 PM11/5/11
to Django-es
Gracias por vuestras respuestas.

Daniel, tus ejemplos me han aclarado. Por ahora lo que necesito es
simplemente filtrar los listados por varios campos y realizar
búsquedas de texto plano. Así que me decanto por hacerlo a mano. Una
vez lo tenga todo funcionando probaré "Haystack" por aprender y ya
decidiré si me merece la pena añadirlo al proyecto o no.

Hans, gracias por responder pero creo que aún no he profundizado lo
suficiente como para comprender tu respuesta. Uso postgres pero no sé
qué es el FTS de postgres y tampoco me queda claro si dices que te
decantarías a usar haystack (con el backend que eligiera) o si lo
harías sin haystack y usando el fts de postgres.

En fin, gracias a todos.
Un saludo.

amor privado

unread,
Nov 10, 2011, 1:03:12 PM11/10/11
to Django-es
yo pienzo k esta mejor elhaystack por k buscas todo mas rapido todos
los los elementos y documentos yo lo usaria el maestro dijo k es un
buen programa

On 27 oct, 07:50, Raúl Cumplido <raulcumpl...@gmail.com> wrote:
> Tengo entendido que Haystack utiliza Lucene como indexador para realizar las
> búsquedas. Todo depende de lo que quieras hacer para búsquedas sobre muchos
> elementos, documentos, etcétera yo usaría haystack.
>
> Me han hablado muy bien aunque no lo he utilizado. No sé si te sirva de
> mucho :)
>
> Saludos,
>
> Raúl
>
> 2011/10/27 Granjero Moe <granjero....@gmail.com>
> Raúl Cumplido- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -
Reply all
Reply to author
Forward
0 new messages