django-sphinx

Software captura de pantalla:
django-sphinx
Detalles de software:
Versión: 2.2.4
Fecha de carga: 11 May 15
Promotor: David Cramer
Licencia: Libre
Popularidad: 50

Rating: 3.0/5 (Total Votes: 1)

django-esfinge es una capa que funciona al igual que el ORM de Django hace, excepto que trabaja en la parte superior del motor de búsqueda de texto completo Esfinge.
Por favor Nota: Usted tendrá que crear sus propios índices esfinge esfinge e instalar en su servidor para utilizar esta aplicación.
Allí ya no habrá liberación paquetes disponibles. Utilice SVN a la comprobación de la última versión del tronco, ya que siempre debe ser estable y actual.

Instalar:

Para instalar la última versión estable:
sudo easy_install djangosphinx
Para instalar la última versión de desarrollo (actualizado con bastante frecuencia):
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ django-esfinge
cd django-esfinge
sudo python setup.py install
Nota: Usted tendrá que instalar el paquete sphinxapi.py en su trayectoria Python o utilizar una de las versiones incluidas. Para utilizar la versión incluida, debe especificar lo siguiente en su archivo settings.py:
# Esfinge 0.9.9
SPHINX_API_VERSION = 0x116
# Esfinge 0.9.8
SPHINX_API_VERSION = 0x113
# Esfinge 0.9.7
SPHINX_API_VERSION = 0x107

Uso:

El siguiente es un poco de ejemplo de uso:
MyModel clase (models.Model):
& Nbsp; search = SphinxSearch () # opcionales: por defecto db_table
& Nbsp; # Si su nombre de índice no coincide MyModel._meta.db_table
& Nbsp; # Nota: Sólo puede generar configuraciones automáticas de la secuencia de comandos ./manage.py
& Nbsp; # si su nombre de índice coincide.
& Nbsp; search = SphinxSearch ('index_name')
& Nbsp; # O tal vez queremos ser más específico ..
& Nbsp; searchdelta = SphinxSearch (
& Nbsp; index = 'delta_name index_name',
& Nbsp; pesos = {
& Nbsp; "nombre": 100,
& Nbsp; "descripción": 10,
& Nbsp; "etiquetas": 80,
& Nbsp;}
& Nbsp;)
queryset = MyModel.search.query ('consulta')
resultados1 = queryset.order_by ('@ de peso', 'id', 'my_attribute')
resultados2 = queryset.filter (my_attribute = 5)
resultados3 = queryset.filter (my_other_attribute = [5, 3,4])
resultados4 = queryset.exclude (my_attribute 5 =) [doce y diez]
resultados5 = queryset.count ()
# Como de 2.0 ahora se puede acceder a un atributo para obtener los argumentos de peso y similares
para el resultado en resultados1:
& Nbsp; resultado de la impresión, result._sphinx
# También se puede acceder a un conjunto similar de metadatos en la propia queryset (una vez que ha sido cortada o ejecuta en cualquier forma)
results1._sphinx impresión
Algunos métodos adicionales:
& Nbsp; * count ()
& Nbsp; * extra () (se pasa al queryset)
& Nbsp; * todos () (no hace nada)
& Nbsp; * select_related () (se pasa al queryset)
& Nbsp; * group_by (campo, campo, campo)
& Nbsp; * set_options (índice = '', pesos = {}, pesos = [])
La capa django-esfinge también es compatible con algunas de consulta básica sobre varios índices. Para utilizar este primero tiene que entender las reglas de una UNION. Sus índices deben contener exactamente los mismos campos. Estos campos también deben incluir una selección content_type que debería ser el id content_type asociado a esa tabla (modelo).
A continuación, puede hacer algo como esto:
SphinxSearch ('index1 index2 index3'). Consulta ('hola')
Esto devolverá una lista de todos los partidos, ordenados por peso, de todos los índices. Esto realiza una consulta SQL por índice con partidos en el mismo, como ORM de Django no soporta UNION SQL

Requisitos .

  • Django
  • Python

Otro software de desarrollador David Cramer

Sentry
Sentry

10 Dec 15

nose-bleed
nose-bleed

14 Apr 15

sentry-github
sentry-github

20 Feb 15

django-data-tools
django-data-tools

11 May 15

Comentarios a la django-sphinx

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!