django-sphinx

Screenshot Software:
django-sphinx
Detalii soft:
Versiune: 2.2.4
Incarca data: 11 May 15
Producător: David Cramer
Licenţă: Gratuit
Popularitate: 1

Rating: nan/5 (Total Votes: 0)

django-sfinx este un strat care funcționează de mult ca Django ORM nu doar că funcționează pe partea de sus a motorului de căutare Sphinx full-text.
Vă rugăm să Notă: Va trebui să vă creați propriile indici Sfinxul si instala sfinx pe serverul dvs. de a utiliza această aplicație.
Nu va mai fi eliberați pachete disponibile. Vă rugăm să folosiți SVN cosul cea mai recentă versiune portbagaj, cum ar trebui să fie întotdeauna stabile și actuale.

Instalați:

Pentru a instala cea mai recentă versiune stabilă:
sudo easy_install djangosphinx
Pentru a instala cea mai recentă versiune de dezvoltare (actualizat destul de des):
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ django-sfinx
cd django-sfinx
sudo python setup.py instala
Notă: Va trebui să instalați pachetul sphinxapi.py în calea ta Python sau de a folosi una dintre versiunile incluse. Pentru a utiliza versiunea inclus, trebuie să specificați următoarele în fișierul dvs. settings.py:
# Sphinx 0.9.9
SPHINX_API_VERSION = 0x116
# Sphinx 0.9.8
SPHINX_API_VERSION = 0x113
# Sphinx 0.9.7
SPHINX_API_VERSION = 0x107

Utilizare:

Următoarele este un exemplu de utilizare:
MyModel clasa (models.Model):
& Nbsp; de căutare = SphinxSearch () # opțional: implicit la db_table
& Nbsp; # Dacă numele dvs. index nu se potrivește MyModel._meta.db_table
& Nbsp; # Notă: Puteți genera doar configurații automate de script ./manage.py
& Nbsp; # dacă numele tău index se potrivește.
& Nbsp; de căutare = SphinxSearch ('index_name ")
& Nbsp; # Sau poate vrem sa fim mai mult .. specific
& Nbsp; searchdelta = SphinxSearch (
& Nbsp; index = 'delta_name index_name ",
& Nbsp; greutăți = {
& Nbsp; "nume": 100,
& Nbsp; "descriere": 10,
& Nbsp; "tags": 80,
& Nbsp;}
& Nbsp;)
queryset = MyModel.search.query ('interogare ")
results1 = queryset.order_by ("greutate @", "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 ()
# Ca de 2.0 puteți accesa acum un atribut pentru a obține argumentele de greutate și similare
pentru rezultat results1:
& Nbsp; rezultat imprimare, result._sphinx
# Puteți accesa, de asemenea, un set similar de date meta pe queryset sine (după ce a fost feliat sau executate în orice fel)
results1._sphinx print
Unele metode suplimentare:
& Nbsp; * count ()
& Nbsp; * suplimentar () (trecut la queryset)
& Nbsp; * toate () (nu face nimic)
& Nbsp; * select_related () (trecut la queryset)
& Nbsp; * group_by (câmp, câmp, câmp)
& Nbsp; * set_options (indicele = '', greutăți = {}, greutăți = [])
Stratul django-sfinx sprijină, de asemenea unele interogare de bază pe mai multe indexuri. Pentru a utiliza aceasta mai întâi trebuie să înțeleagă regulile unui UNION. Indici dvs. trebuie să conțină exact aceleași domenii. Aceste câmpuri trebuie să includă, de asemenea, o selecție content_type care trebuie să fie ID-ul content_type asociată cu acel tabel (de model).
Puteți face apoi ceva de genul:
SphinxSearch ("index1 index2 index3"). Interogare ("salut")
Aceasta va returna o listă cu toate meciurile, comandat de greutate, din toate indexurile. Aceasta efectuează o interogare SQL pe index cu meciuri în ea, ca ORM Django nu are suport UNION SQL

Cerințe :.

  • Django
  • Python

Alte software-uri de dezvoltator David Cramer

nydus-django
nydus-django

14 Apr 15

Logan
Logan

20 Feb 15

nexus
nexus

15 Apr 15

Sentry
Sentry

20 Feb 15

Comentarii la django-sphinx

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!