django-sphinx

Yazılım ekran görüntüsü:
django-sphinx
Yazılım detaylar:
Versiyon: 2.2.4
Qayıt: 11 May 15
Geliştirici: David Cramer
Lisans: Ücretsiz
Popülerlik: 1

Rating: nan/5 (Total Votes: 0)

django-sfenks o Sfenks tam metin arama motoru üstünde çalışır dışında işlevleri çok Django ORM gibi yapan bir tabakadır.
Lütfen Dikkat: Kendi sfenks indeksleri oluşturma ve bu app kullanmak için sunucu üzerinde sfenks yüklemeniz gerekir.
Artık paketler mevcut serbest olacaktır. Her zaman istikrarlı ve güncel olması gerektiği gibi, son gövde sürümünü çıkış için SVN kullanın.

Yükleyin:

Son kararlı sürümünü yüklemek için:
sudo easy_install djangosphinx
(Oldukça sık güncellenir) son gelişme sürümünü yüklemek için:
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ Django-sphinx
cd django-sfenks
sudo python setup.py install
Not: Python Yolu içine sphinxapi.py paketi yüklemek veya yer sürümlerinden birini kullanmanız gerekecektir. Dahil sürümünü kullanmak için, settings.py dosyasında aşağıdaki belirtmeniz gerekir:
# Sfenks 0.9.9
SPHINX_API_VERSION = 0x116
# Sfenks 0.9.8
SPHINX_API_VERSION = 0x113
# Sfenks 0.9.7
SPHINX_API_VERSION = 0x107

Kullanımı:

Aşağıdaki bazı örnek kullanım şöyledir:
sınıf MyModel (models.Model):
& Nbsp; arama = SphinxSearch () # opsiyonel: varsayılan db_table için
& Nbsp; # senin dizin adı MyModel._meta.db_table uymuyorsa
& Nbsp; # Not: Sadece ./manage.py script otomatik yapılandırmaları üretebilir
& Nbsp; indeks adı eşleşen # eğer.
& Nbsp; arama = SphinxSearch ('index_name')
& Nbsp; # Ya da belki daha fazla .. spesifik olmak istiyorum
& Nbsp; searchdelta = SphinxSearch (
& Nbsp; = 'index_name delta_name' endeksi,
& Nbsp; ağırlıklar = {
& Nbsp; 'name': 100,
& Nbsp; 'açıklaması': 10,
& Nbsp; 'etiketler': 80,
& Nbsp;}
& Nbsp;)
QuerySet = MyModel.search.query ('sorgu')
sonuçları1 = queryset.order_by ('@ ağırlık', '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 ()
# 2.0 olarak artık ağırlık ve benzeri argümanları almak için bir nitelik erişebilirsiniz
Sonuçlar1 içinde sonuç için:
& Nbsp; baskı sonucu, result._sphinx
(Dilimlenmiş veya herhangi bir şekilde idam bir zamanlar) # da QuerySet kendisi meta verileri benzer bir set erişebilirsiniz
Baskı results1._sphinx
Bazı ek yöntemler:
& Nbsp; * sayımı ()
& Nbsp; * Ekstra () (QuerySet geçirilen)
& Nbsp; * Tüm () (hiçbir şey yok)
& Nbsp; * select_related () (QuerySet iletilen)
& Nbsp; * group_by (alan, alan, alan)
& Nbsp; * set_options (index = '', ağırlıkları = {}, ağırlıklar = [])
django-sfenks tabakası aynı zamanda birden fazla indeksleri üzerinden bazı temel sorgulama destekler. Bunu kullanmak için ilk önce bir UNION kurallarını anlamak gerekir. Sizin endeksleri aynı alanları içermesi gerekir. Bu alanlar da bu tabloda (model) ile ilişkili içerik türü kimliği olmalıdır içerik türü seçimi içermelidir.
Sonra böyle bir şey yapabilirsiniz:
SphinxSearch ('index3 index2 index1'). Sorgu ('merhaba')
Bu, tüm indeksler gelen ağırlık sipariş edilen tüm eşleşmelerin listesini döndürür. Bu Django'nın ORM SQL UNION desteklemiyor olarak, o maçları ile endeks başına bir SQL sorgusu gerçekleştirir

Gereksinimleri :.

  • Django
  • Python

Geliştirici Diğer yazılım David Cramer

mock-django
mock-django

14 Apr 15

nose-bleed
nose-bleed

14 Apr 15

django-sentry
django-sentry

11 May 15

Yorumlar django-sphinx

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!