Estoy construyendo un proyecto de Django que necesita la funcionalidad de búsqueda, y hasta que haya una django.contrib.search
, tengo que elegir una aplicación de búsqueda. ¿Así que cuál es el mejor? Por "mejor" quiero decir ...
- fácil de instalar / configurar
- tiene una API compatible con Django o al menos Python
- puede realizar búsquedas razonablemente complejas
Aquí hay algunas aplicaciones de las que he oído hablar, sugiera otras si conoce alguna:
También me gustaría evitar el uso de un motor de búsqueda de terceros (como Google SiteSearch), porque algunos de los datos que me gustaría indexar son solo para miembros del sitio y no deberían ser públicos.
python
django
search
search-engine
Justin Voss
fuente
fuente
Respuestas:
Eche un vistazo a Haystack Search , una nueva capa de abstracción de búsqueda basada en modelos que actualmente admite Xapian , Solr y Whoosh . Parece que está bien documentado y respaldado.
fuente
Justin, primero probaría con djangosearch : Jacob Kaplan-Moss (desarrollador principal de Django) está trabajando en ello.
Peligros potenciales:
Beneficios potenciales:
django.contrib.search
".fuente
Estoy buscando lo mismo, al igual que muchas otras personas. Esperemos que pronto se agregue django.contrib.search .
Mientras tanto, esto es lo que encontré:
Para mí, la mayoría parece bastante complicada y, francamente, un poco abrumadora de implementar. Me interesaría saber qué piensas de estos.
fuente
La página de códigos de Google para djangosearch indica que ya no está en desarrollo activo y sugiere pajar o solango .
fuente
Recomendaría Sphinx para búsqueda y agregación de texto completo, y django-sphinx es lo suficientemente bueno para uso en producción. Descubrimos que Sphinx era la forma menos intensiva en recursos y más rápida de indexar y buscar en nuestros documentos y que django-sphinx era un buen contenedor además del cliente sphinx.
El grupo por agregación es particularmente bueno si, por ejemplo, desea mostrar cuántos documentos con una determinada etiqueta o por un determinado autor (o ambos) coincidieron con una búsqueda. Las actualizaciones de atributos en memoria también fueron convenientes, especialmente para eliminar artículos eliminados de inmediato.
fuente
Gracias Garth. Había visto que djangosearch quería convertirse en la búsqueda oficial de Django, ¡pero dudaba en usarlo porque no podía encontrar ninguna documentación! Afortunadamente, hay un README en subversión que no había visto antes y hace que la API se vea muy bien:
fuente
Solo necesitaba una solución muy rápida que no suponga ningún problema para una aplicación interna.
Encontré el artículo Agregar búsqueda a Django en un instante , ¡y funcionó de maravilla para mí!
Obviamente, carece de la velocidad, escalabilidad y características de los proyectos reales como Haystack, pero este es más fácil de configurar y realmente no necesito nada más que la palabra clave AND-search.
fuente
Es posible que desee considerar dejar que Yahoo haga todo el trabajo duro con su servicio Build your own Search (BOSS). Aquí hay una excelente publicación de blog que lo guía a través del proceso: http://www.peterkrantz.com/2008/yahoo-search-in-django/
fuente
Parece que todos aquí extrañaron a django-xappy
Después de una evaluación rápida de todos los complementos de búsqueda existentes para Django, encontré este como el más flexible y fácil de usar. Es irregular en algunos lugares, pero sigue siendo la mejor manera de utilizar la potencia del motor de búsqueda Xapian dentro de los proyectos de Django.
fuente
Es posible que desee ver la búsqueda de Django Solr (también conocida como "Solango") que viene con una buena documentación para comenzar ...
fuente
Si tiene una gran cantidad de datos para indexar o espera mucho tráfico, le sugiero que utilice algún motor de búsqueda externo, como Solr . De esta manera, mantendrá el enfoque de no compartir nada y podrá escalar los componentes de su sitio de forma independiente.
fuente
Creo que voy a tener que saludar a Djapian.
Es sólido como una roca ... simplemente baje una distribución de fuente y eche un vistazo al interior. Código de primera categoría, aunque no muchos comentarios.
Todavía es un proyecto de software joven, pero creo que la comunidad de django debería respaldar este.
fuente
Gracias Joe,
Decidimos ir con Tsearch2 y un adaptador de postgres personalizado. Tsearch2 no necesita un proceso adicional para ejecutarse, lo cual fue conveniente ya que estamos en un hosting de WebFaction con memoria limitada ... Aún no está completamente terminado, pero parece ser una buena solución ...
fuente
Encontré Djoosh, que se basa en el motor de búsqueda externo de Python puro Whoosh para funcionar bien con mi cerebro 'Python'.
fuente
Si está dispuesto a utilizar un motor de búsqueda de terceros, puedo recomendar Yahoo BOSS y django-bosssearch .
Yahoo BOSS es un servicio de pago, pero le ahorra configurar y mantener otro software de búsqueda en su servidor.
fuente