django-sphinx

Software screenshot:
django-sphinx
Software detaljer:
Version: 2.2.4
Upload dato: 11 May 15
Udvikler: David Cramer
Licens: Gratis
Popularitet: 50

Rating: 3.0/5 (Total Votes: 1)

Django-sfinks er et lag, der fungerer meget ligesom Django ORM gør undtagen det virker oven på Sphinx fuld-tekst søgemaskine.
Bemærk venligst: Du skal oprette dine egne sphinx indekser og installere sphinx på din server for at bruge denne app.
Der vil ikke længere være frigive pakker. Brug venligst SVN til kassen den nyeste trunk-version, da det altid skal være stabil og aktuelle.

Installer:

For at installere den nyeste stabile version:
sudo easy_install djangosphinx
For at installere den seneste udvikling version (opdateret ret ofte):
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ Django-sfinks
cd Django-sfinks
sudo python setup.py installere
Bemærk: Du skal installere sphinxapi.py pakke ind i din Python Sti eller bruge en af ​​de inkluderede versioner. At bruge den medfølgende udgave, skal du angive følgende i din settings.py fil:
# Sphinx 0.9.9
SPHINX_API_VERSION = 0x116
# Sphinx 0.9.8
SPHINX_API_VERSION = 0x113
# Sphinx 0.9.7
SPHINX_API_VERSION = 0x107

Anvendelse:

Det følgende er nogle eksempler brug:
klasse MyModel (models.Model):
& Nbsp; search = SphinxSearch () # valgfri: defaults til db_table
& Nbsp; # Hvis dit indeks navn ikke passer MyModel._meta.db_table
& Nbsp; # Bemærk: Du kan kun generere automatiske konfigurationer fra ./manage.py script
& Nbsp; # hvis dit indeks navn matcher.
& Nbsp; search = SphinxSearch ('index_name)
& Nbsp; # Eller måske vi ønsker at være mere .. specifik
& Nbsp; searchdelta = SphinxSearch (
& Nbsp; index = 'index_name delta_name «,
& Nbsp; vægte = {
& Nbsp; 'navn': 100,
& Nbsp; "beskrivelse": 10,
& Nbsp; 'tags': 80,
& Nbsp;}
& Nbsp;)
queryset = MyModel.search.query (query)
results1 = queryset.order_by ('@ vægt', 'id', 'my_attribute')
resultater2 = queryset.filter (my_attribute = 5)
resultater3 = queryset.filter (my_other_attribute = [5, 3,4])
results4 = queryset.exclude (my_attribute 5 =) [0:10]
results5 = queryset.count ()
# Som på 2,0 kan du nu få adgang til en attribut for at få vægt og lignende argumenter
for resultat i results1:
& Nbsp; print resultat, result._sphinx
# Du kan også få adgang til et lignende sæt metadata på queryset selv (når den er blevet skåret eller henrettet på nogen måde)
print results1._sphinx
Nogle yderligere metoder:
& Nbsp; * count ()
& Nbsp; * ekstra () (videregivet til queryset)
& Nbsp; * alle () (gør ingenting)
& Nbsp; * select_related () (videregivet til queryset)
& Nbsp; * group_by (felt, felt, felt)
& Nbsp; * set_options (indeks = '', vægte = {}, vægte = [])
Den Django-sphinx lag understøtter også nogle grundlæggende forespørgsler over flere indekser. For at bruge denne du først nødt til at forstå reglerne for en UNION. Dine indekser skal indeholde nøjagtig de samme områder. Disse felter skal også indeholde en indholdstype udvalg, der skal være den indholdstype id forbundet med tabellen (model).
Du kan så gøre noget som dette:
SphinxSearch ('indeks1 Index2 Index3 «). Query (" hello ")
Dette vil returnere en liste over alle matches, bestilt af vægt, fra alle indekser. Dette udfører en SQL-forespørgsel per indeks med kampe i det, som Django er ORM ikke understøtter SQL UNION

Krav :.

  • Django
  • Python

Andre software developer David Cramer

nose-json
nose-json

14 Apr 15

Sentry
Sentry

10 Dec 15

django-data-tools
django-data-tools

11 May 15

Sentry
Sentry

20 Feb 15

Kommentarer til django-sphinx

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!