para - aplicaciones android hechas en python
¿Cuál es la mejor aplicación de búsqueda de Django? (15)
Creo que voy a tener que darle un grito a Djapian.
Es sólido como una roca ... simplemente despliega una distribución de fuente y mira dentro. Código de primera clase, no hay muchos comentarios aunque ...
Todavía es un proyecto de software joven, pero creo que la comunidad django debería arrojar su peso detrás de este.
Estoy construyendo un proyecto de Django que necesita funcionalidad de búsqueda, y hasta que haya un 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 con Python
- puede realizar búsquedas razonablemente complejas
Aquí hay algunas aplicaciones de las que he oído hablar, por favor sugiérale a otras si conoces 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.
Eche un vistazo a Haystack Search , una nueva capa de abstracción de búsqueda basada en modelos que actualmente es compatible con Xapian , Solr y Whoosh . Parece que está bien soportado y documentado.
Es posible que desee considerar dejar que Yahoo haga todo el trabajo duro con su Build your own Search Service (BOSS). Aquí hay una gran publicación de blog que lo guía a través del proceso: http://www.peterkrantz.com/2008/yahoo-search-in-django/
Es posible que desee ver la solango (también conocida como "Solango") que viene con una buena documentación para que comience ...
Estoy buscando lo mismo, al igual que muchas otras personas. Esperemos que django.contrib.search se agregará pronto.
Mientras tanto, esto es lo que encontré:
- djangosearch
- django-sphinx
- http://code.google.com/p/djapian/
- http://code.google.com/p/django-search-lucene/
- http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/
Para mí, la mayoría parece bastante complicado y, francamente, un poco desalentador para implementar. Me interesaría saber qué piensas de estos.
Gracias Garth. ¡Había visto que djangosearch quería ser la búsqueda oficial de Django, pero dudaba en usarlo porque no pude encontrar ninguna documentación! Afortunadamente, hay un archivo README en subversión que no había visto antes, y hace que la API parezca genial:
# set up the model
class Event(models.Model):
title = models.CharField(max_length=255)
date = models.DateField()
is_outdoors = models.BooleanField()
index = djangosearch.ModelIndex(text=[''title''],
additional=[''date'', ''is_outdoors''])
# run a search
results = Event.index.search("django conference")
Gracias Joe,
Decidimos ir con Tsearch2 y un adaptador postgres personalizado. Tsearch2 no necesita un proceso adicional para ejecutarse, lo cual era conveniente ya que estamos en un alojamiento WebFaction con memoria limitada ... Todavía no está completamente listo, pero parece ser una buena solución ...
Justin, primero probaría con djangosearch : Jacob Kaplan-Moss (desarrollador principal de Django) está trabajando en ello.
Peligros potenciales:
- La página de inicio advierte que la API podría no ser del todo estable
Beneficios potenciales:
- "El objetivo a largo plazo es que esto se convierta en
django.contrib.search
".
La página de códigos de google para djangosearch indica que ya no se encuentra en desarrollo activo, y sugiere haystack o solango .
Parece que todos aquí se perdieron 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 difícil en algunos puntos, pero sigue siendo la mejor forma de utilizar la potencia del motor de búsqueda Xapian dentro de los proyectos de Django.
Recomendaría Sphinx para la búsqueda y agregación de texto completo, y django-sphinx es lo suficientemente bueno para el uso de producción. Descubrimos que Sphinx era la forma más rápida y menos costosa de indexar y buscar nuestros documentos y que django-sphinx era una buena envoltura sobre el cliente de sphinx.
El grupo por agregación es especialmente agradable, por ejemplo, si desea mostrar cuántos documentos con una determinada etiqueta o un determinado autor (o ambos) coinciden con una búsqueda. En memoria, las actualizaciones de atributos también eran convenientes, especialmente para eliminar artículos eliminados inmediatamente.
Si está dispuesto a utilizar un motor de búsqueda de terceros, puedo recomendar Yahoo BOSS y bitbucket.org/jaap3/django-bosssearch .
Yahoo BOSS es un servicio pago, pero le permite configurar y mantener otro software de búsqueda en su servidor.
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 forma, mantendrá el enfoque de compartir nada y podrá escalar los componentes de su sitio de forma independiente.
Solo necesitaba una solución muy rápida que fuera sin complicaciones para una aplicación interna.
Encontré el artículo Añadiendo búsqueda a Django en un instante , ¡y eso funcionó espléndido para mí!
Obviamente carece de la velocidad, la escalabilidad y las 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.