django-sphinx

Software screenshot:
django-sphinx
Podrobnosti Software:
Verze: 2.2.4
Datum uploadu: 11 May 15
Vývojka: David Cramer
Licence: Volný
Popularita: 1

Rating: nan/5 (Total Votes: 0)

Django-Sphinx je vrstva, která funguje podobně jako Django ORM dělá s výjimkou, že pracuje na vrcholu fulltextového vyhledávače Sphinx.
Poznámka: Budete muset vytvořit svůj vlastní sfinga indexy a nainstalovat sfinga na vašem serveru používat tuto aplikaci.
Tam již nebude uvolnit balíčky jsou k dispozici. Prosím, použijte SVN pokladně nejnovější verzi kufru, jak by mělo být vždy stabilní a aktuální.

Instalace:

Chcete-li nainstalovat nejnovější stabilní verzi:
sudo easy_install djangosphinx
Chcete-li nainstalovat nejnovější vývojovou verzi (aktualizováno poměrně často):
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ Django-sfinga
CD Django-sfinga
sudo python setup.py nainstalovat
Poznámka: Budete muset nainstalovat sphinxapi.py balíček do vašeho jazyka Python cesta nebo použít některou z obsažených verzí. Chcete-li použít přiložený verzi, musíte zadat následující ve vašem settings.py souboru:
# Sphinx 0.9.9
SPHINX_API_VERSION = 0x116
# Sphinx 0.9.8
SPHINX_API_VERSION = 0x113
# Sphinx 0.9.7
SPHINX_API_VERSION = 0x107

Použití:

Následuje několik příkladů použití:
třída MyModel (models.Model):
& Nbsp; hledání = SphinxSearch () # Volitelné: výchozí k db_table
& Nbsp; # Je-li Vaše jméno index neodpovídá MyModel._meta.db_table
& Nbsp; # Poznámka: Můžete vytvářet pouze automatické konfigurace z ./manage.py skriptu
& Nbsp; #, pokud vaše jméno index zápasů.
& Nbsp; hledání = SphinxSearch ('index_name ")
& Nbsp; # Nebo snad chceme být více konkrétní ..
& Nbsp; searchdelta = SphinxSearch (
& Nbsp; index = 'index_name delta_name ",
& Nbsp; váhy = {
& Nbsp; "Jméno": 100,
& Nbsp; "popis": 10,
& Nbsp; "tagy": 80,
& Nbsp;}
& Nbsp;)
queryset = MyModel.search.query ("query")
Výsledky1 = queryset.order_by ('' hmotnost ','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 ()
# Jak 2,0 můžete nyní přístup k atributu získat hmotnosti a podobné argumenty
Pro výsledek v Výsledky1:
& Nbsp; výsledek tisku, result._sphinx
# Můžete také přístup podobný soubor metadat o samotném queryset (jednou to bylo krájené nebo popraven v žádném případě)
print results1._sphinx
Některé další metody:
& Nbsp; * count ()
& Nbsp; * další () (předán do queryset)
& Nbsp; * všechny () (nedělá nic)
& Nbsp; * select_related () (předán do queryset)
& Nbsp; * group_by (pole, pole, pole)
& Nbsp; * set_options (index = '', váhy = {}, váhy = [])
Django-sfinga vrstva také podporuje některé základní dotazování přes více indexů. Chcete-li použít tento musíte nejprve pochopit pravidla UNION. Vaše indexy musí obsahovat přesně stejná pole. Tato pole musí rovněž obsahovat výběr content_type, která by měla být content_type id spojená s touto tabulkou (model).
Pak můžete udělat něco takového:
SphinxSearch ("index1 index2 index3"). Dotaz ("ahoj")
Tato vrátí seznam všech zápasů, objednal hmotnosti, ze všech indexů. Toto provádí jeden SQL dotazu na jeden index se zápalkami v ní, jak Djangovým ORM nepodporuje SQL unie

Požadavky na :.

  • Django
  • Python

Ostatní software developer David Cramer

Django-PayPal
Django-PayPal

20 Jul 15

Sentry
Sentry

10 Dec 15

taskmaster
taskmaster

14 Apr 15

sentry-webhooks
sentry-webhooks

20 Feb 15

Komentáře k django-sphinx

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!