django-sphinx

Software kuvakaappaus:
django-sphinx
Ohjelmiston tiedot:
Versio: 2.2.4
Lähetyksen päivämäärä: 11 May 15
Kehittäjä: David Cramer
Lupa: Vapaa
Suosio: 1

Rating: nan/5 (Total Votes: 0)

Django-sfinksi on kerros, joka toimii aivan kuten Django ORM tekee paitsi se toimii päälle sfinksi koko tekstin hakukoneen.
Huomaa: Sinun täytyy luoda oma sfinksi indeksit ja asentaa sfinksi palvelimella käyttämään tätä app.
Ei ole enää vapauta paketteja. Käytä SVN kassalle uusin runko version, sillä se tulee aina olla vakaa ja nykyinen.

Asenna:

Voit asentaa viimeisin vakaa versio:
sudo easy_install djangosphinx
Voit asentaa uusimman kehitysversion (päivitetty melko usein):
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ Django-sfinksi
cd Django-sfinksi
sudo python setup.py asentaa
Huomautus: Sinun täytyy asentaa sphinxapi.py paketin omalle Python Polku tai käyttää jotakin mukana versioihin. Jos haluat käyttää mukana versiota, sinun on määritettävä seuraavat teidän settings.py tiedostoon:
# Sphinx 0.9.9
SPHINX_API_VERSION = 0x116
# Sphinx 0.9.8
SPHINX_API_VERSION = 0x113
# Sphinx 0.9.7
SPHINX_API_VERSION = 0x107

Käyttö:

Seuraavassa on muutamia esimerkkejä käytöstä:
luokan MyModel (models.Model):
& Nbsp; search = SphinxSearch () # vapaaehtoinen: oletuksena db_table
& Nbsp; # Jos indeksin nimi ei vastaa MyModel._meta.db_table
& Nbsp; # Huomautus: Voit luoda automaattisen määrittelyt ./manage.py käsikirjoituksen
& Nbsp; # jos indeksin nimi vastaa.
& Nbsp; search = SphinxSearch ('index_name')
& Nbsp; # Tai ehkä me haluamme olla enemmän .. erityisiä
& Nbsp; searchdelta = SphinxSearch (
& Nbsp; index = 'index_name delta_name ",
& Nbsp; painot = {
& Nbsp; "name": 100,
& Nbsp; "kuvaus": 10,
& Nbsp; "tageja": 80,
& Nbsp;}
& Nbsp;)
queryset = MyModel.search.query ('query')
results1 = queryset.order_by ('@ paino ","id', 'my_attribute')
results2 = queryset.filter (my_attribute = 5)
tuloksia3 = queryset.filter (my_other_attribute = [5, 3,4])
results4 = queryset.exclude (my_attribute = 5) [0:10]
results5 = queryset.count ()
# Kuin 2,0 voit nyt käyttää määrite saada painoa ja vastaavia väitteitä
sillä tulos results1:
& Nbsp; tulostusjälki, result._sphinx
# Voit myös käyttää samanlainen joukko meta tietojen queryset itse (kun se on viipaloitu tai toteutettu millään tavalla)
print results1._sphinx
Joitakin uusia menetelmiä:
& Nbsp; * count ()
& Nbsp; * extra () (siirtynyt queryset)
& Nbsp; * kaikkien () (ei mitään)
& Nbsp; * select_related () (siirtynyt queryset)
& Nbsp; * group_by (kenttä, pelto, kenttä)
& Nbsp; * set_options (index = '', painoja = {}, painot = [])
Django-sfinksi kerros tukee myös joitakin perusasioita kyselyitä usean indeksit. Voit käyttää tätä sinun on ensin ymmärtää sääntöjä UNION. Sinun indeksit tulee sisältää täsmälleen samoja kenttiä. Nämä kentät on myös content_type valinta jonka pitäisi olla content_type id liittyvät kyseiseen taulukkoon (malli).
Voit sitten tehdä jotain tällaista:
SphinxSearch ('Index1 Indeksi2 index3'). Query ("hei")
Tämä palauttaa listan kaikkien otteluiden, tilasi painosta, kaikista indeksit. Tämä tekee yksi SQL kohden indeksi ottelut sitä, koska Django ORM ei tue SQL UNION.

vaatimukset

  • Django
  • Python

Muu ohjelmistojen kehittäjä David Cramer

sentry-webhooks
sentry-webhooks

20 Feb 15

django-uuidfield
django-uuidfield

20 Feb 15

nydus-django
nydus-django

14 Apr 15

nose-bisect
nose-bisect

14 Apr 15

Kommentit django-sphinx

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!