django-sphinx

Skjermbilde programvare:
django-sphinx
Prog.varedetaljer:
Versjon: 2.2.4
Last opp dato: 11 May 15
Utvikler: David Cramer
Lisens: Gratis
Popularitet: 1

Rating: nan/5 (Total Votes: 0)

django-sfinks er et lag som fungerer omtrent som Django ORM gjør bortsett fra det fungerer på toppen av Sphinx fulltekstsøk søkemotor.
Merk: Du må opprette dine egne sfinks indekser og installere sfinksen på serveren din for å bruke dette programmet.
Det vil ikke lenger være slippe pakker tilgjengelig. Bruk SVN til kassen nyeste trunk versjonen, som det skal alltid være stabil og strøm.

Installer:

For å installere den siste stabile versjonen:
sudo easy_install djangosphinx
For å installere den nyeste utviklerversjon (oppdateres ganske ofte):
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ django-sfinks
cd django-sfinks
sudo python setup.py installere
Merk: Du må installere sphinxapi.py pakken inn i Python bane eller bruke en av de inkluderte versjoner. For å bruke den medfølgende versjonen, må du spesifisere følgende i settings.py filen:
# Sphinx 0.9.9
SPHINX_API_VERSION = 0x116
# Sphinx 0.9.8
SPHINX_API_VERSION = 0x113
# Sphinx 0.9.7
SPHINX_API_VERSION = 0x107

Bruk:

Følgende er noen eksempel bruk:
klasse MyModel (models.Model):
& Nbsp; search = SphinxSearch () # valg: defaults til db_table
& Nbsp; # Hvis peke navn ikke sams MyModel._meta.db_table
& Nbsp; # Merk: Du kan bare genererer automatisk konfigurasjoner fra ./manage.py script
& Nbsp; # hvis indeksen navn kamper.
& Nbsp; search = SphinxSearch ('index_name')
& Nbsp; # Eller kanskje vi ønsker å være mer .. spesifikk
& Nbsp; searchdelta = SphinxSearch (
& Nbsp; index = 'index_name delta_name',
& Nbsp; vekter = {
& Nbsp; 'navn': 100,
& Nbsp; 'beskrivelse': 10,
& Nbsp; 'tags': 80,
& Nbsp;}
& Nbsp;)
queryset = MyModel.search.query ('spørring')
results1 = queryset.order_by ('@ vekt', 'id', 'my_attribute')
results2 = queryset.filter (my_attribute = 5)
results3 = queryset.filter (my_other_attribute = [5, 3,4])
results4 = queryset.exclude (my_attribute 5 =) [00:10]
results5 = queryset.count ()
# Som av 2.0 kan du nå få tilgang til et attributt for å få vekt og lignende argumenter
for resultat i results1:
& Nbsp; print resultat result._sphinx
# Du kan også få tilgang til et lignende sett av meta data på queryset selv (når den er blitt skiver eller henrettet på noen måte)
print results1._sphinx
Noen flere metoder:
& Nbsp; * count ()
& Nbsp; * ekstra () (sendes til queryset)
& Nbsp; * alle () (gjør ingenting)
& Nbsp; * select_related () (sendes til queryset)
& Nbsp; * group_by (felt, felt, felt)
& Nbsp; * set_options (indeks = '', vekter = {}, vekter = [])
Django-sfinks lag støtter også noen grunnleggende spørring over flere indekser. For å bruke dette må du først forstå reglene for en UNION. Dine indekser må inneholde nøyaktig de samme feltene. Disse feltene må også omfatte et content_type utvalg som skal være den content_type id forbundet med dette bordet (modell).
Deretter kan du gjøre noe sånt som dette:
SphinxSearch ('Indeks1 Indeks2 index3'). Spørring ("hei")
Dette vil returnere en liste over alle kampene, bestilt av vekt, fra alle indekser. Dette utfører en SQL-spørring per indeksen med kamper i det, som Django er ORM ikke støtter SQL UNION

Krav .

  • Django
  • Python

Annen programvare fra utvikleren David Cramer

nose-json
nose-json

14 Apr 15

nexus-memcache
nexus-memcache

15 Apr 15

php-httplib
php-httplib

5 Jun 15

Logan
Logan

20 Feb 15

Kommentarer til django-sphinx

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!