django-sphinx

Logiciel capture d'écran:
django-sphinx
Détails logiciels:
Version: 2.2.4
Date de transfert: 11 May 15
Développeur: David Cramer
Licence: Gratuit
Popularité: 1

Rating: nan/5 (Total Votes: 0)

django-sphinx est une couche qui fonctionne un peu comme le Django ORM fait, sauf qu'il fonctionne sur le dessus du moteur de recherche en texte intégral Sphinx.
S'il vous plaît Note: Vous aurez besoin de créer vos propres indices de sphinx sphinx et installer sur votre serveur pour utiliser cette application.
Il ne sera plus libérer forfaits disponibles. S'il vous plaît utiliser SVN pour la caisse de la dernière version du tronc, comme il se doit toujours être stable et à jour.

Installez:

Pour installer la dernière version stable:
sudo easy_install djangosphinx
Pour installer la dernière version de développement (mise à jour assez souvent):
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ django-sphinx
cd django-sphinx
sudo python setup.py install
Note: Vous aurez besoin d'installer le paquet sphinxapi.py dans votre chemin de Python ou utiliser l'une des versions incluses. Pour utiliser la version incluse, vous devez spécifier les éléments suivants dans votre fichier settings.py:
# 0.9.9 Sphinx
SPHINX_API_VERSION = 0x116
# 0.9.8 Sphinx
SPHINX_API_VERSION = 0x113
# 0.9.7 Sphinx
SPHINX_API_VERSION = 0x107

Utilisation:

Ce qui suit est un peu un exemple d'utilisation:
MyModel de classe (models.Model):
& Nbsp; search = sphinxsearch () # optionnel, par défaut à db_table
& Nbsp; # Si votre nom d'index ne correspond pas MyModel._meta.db_table
& Nbsp; # Note: Vous ne pouvez générer des configurations automatiques à partir du script ./manage.py
& Nbsp; # si votre nom d'index correspond.
& Nbsp; search = sphinxsearch ('index_name')
& Nbsp; # Ou peut-être que nous voulons être plus spécifique ..
& Nbsp; searchdelta = sphinxsearch (
& Nbsp; index = 'de delta_name index_name',
& Nbsp; poids = {
& Nbsp; «nom»: 100,
& Nbsp; 'description': 10,
& Nbsp; «balises»: 80,
& Nbsp;}
& Nbsp;)
queryset = MyModel.search.query ('query')
résultats1 = queryset.order_by ('@ poids »,«id', 'my_attribute')
résultats2 = queryset.filter (my_attribute = 5)
résultats3 = queryset.filter (my_other_attribute = [5, 3,4])
résultats4 = queryset.exclude (my_attribute 5 =) [0:10]
résultats5 = queryset.count ()
# À partir de 2.0, vous pouvez désormais accéder à un attribut pour obtenir les arguments de poids et similaires
pour résultat dans résultats1:
& Nbsp; résultat d'impression, result._sphinx
# Vous pouvez également accéder à un ensemble similaire de méta-données sur le queryset lui-même (une fois qu'il a été tranchés ou exécuté en aucune façon)
print results1._sphinx
Certaines méthodes supplémentaires:
& Nbsp; * count ()
& Nbsp; * () supplémentaire (passé à la queryset)
& Nbsp; * tous () (ne fait rien)
& Nbsp; * select_related () (passé à la queryset)
& Nbsp; * group_by (champ, champ, champ)
& Nbsp; * set_options (indice = '', poids = {}, poids = [])
La couche django-sphinx prend également en charge un certain interrogation fondamentale sur plusieurs indices. Pour utiliser cela, vous devez d'abord comprendre les règles d'un syndicat. Vos index doivent contenir exactement les mêmes champs. Ces champs doivent également inclure une sélection de content_type qui devrait être l'id content_type associé à cette table (modèle).
Vous pouvez ensuite faire quelque chose comme ceci:
Sphinxsearch ('index1 index2 index3'). Requête («bonjour»)
Ceci renverra une liste de tous les matches, commandé en poids, de tous les indices. Ce effectue une requête SQL par l'indice avec des allumettes en elle, comme ORM Django ne supporte pas les UNION SQL

Exigences :.

  • Django
  • Python

D'autres logiciels de développeur David Cramer

django-data-tools
django-data-tools

11 May 15

nose-kleenex
nose-kleenex

15 Apr 15

nose-bisect
nose-bisect

14 Apr 15

php-httplib
php-httplib

5 Jun 15

Commentaires à django-sphinx

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!