django-sphinx

Software screenshot:
django-sphinx
Rincian Software:
Versi: 2.2.4
Tanggal Upload: 11 May 15
Pengembang: David Cramer
Lisensi: Gratis
Popularitas: 1

Rating: nan/5 (Total Votes: 0)

Django-sphinx adalah lapisan yang berfungsi mirip dengan Django ORM tidak kecuali ia bekerja di atas Sphinx teks lengkap mesin pencari.
Harap Catatan: Anda akan perlu untuk membuat indeks sphinx Anda sendiri dan menginstal sphinx pada server Anda untuk menggunakan aplikasi ini.
Tidak akan ada lagi merilis paket yang tersedia. Silakan gunakan SVN untuk checkout versi terbaru bagasi, karena harus selalu stabil dan saat ini.

Install:

Untuk menginstal versi stabil terbaru:
sudo easy_install djangosphinx
Untuk menginstal versi pengembangan terbaru (update cukup sering):
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ Django-sphinx
cd Django-sphinx
sudo python setup.py install
Catatan: Anda perlu menginstal paket sphinxapi.py ke Jalur Python atau menggunakan salah satu versi disertakan. Untuk menggunakan versi yang disertakan, Anda harus menentukan hal berikut dalam file settings.py Anda:
# Sphinx 0.9.9
SPHINX_API_VERSION = 0x116
# Sphinx 0.9.8
SPHINX_API_VERSION = 0x113
# Sphinx 0.9.7
SPHINX_API_VERSION = 0x107

Penggunaan:

Berikut ini adalah beberapa contoh penggunaan:
kelas MyModel (models.Model):
& Nbsp; penelusuran = SphinxSearch () # opsional: default ke db_table
& Nbsp; # Jika nama indeks Anda tidak cocok MyModel._meta.db_table
& Nbsp; # Catatan: Anda hanya dapat menghasilkan konfigurasi otomatis dari script ./manage.py
& Nbsp; # jika nama indeks Anda cocok.
& Nbsp; penelusuran = SphinxSearch ('index_name')
& Nbsp; # Atau mungkin kita ingin lebih spesifik ..
& Nbsp; searchdelta = SphinxSearch (
& Nbsp; Indeks = 'delta_name index_name',
& Nbsp; bobot = {
& Nbsp; 'nama': 100,
& Nbsp; 'description': 10,
& Nbsp; 'tag': 80,
& Nbsp;}
& Nbsp;)
queryset = MyModel.search.query ('permintaan')
results1 = queryset.order_by ('@ berat', '@ 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 ()
# Sebagai 2,0 Anda sekarang dapat mengakses atribut untuk mendapatkan berat badan dan mirip argumen
untuk hasil di results1:
& Nbsp; hasil cetak, result._sphinx
# Anda juga dapat mengakses satu set sama meta data pada queryset sendiri (setelah itu sudah diiris atau dieksekusi dengan cara apapun)
cetak results1._sphinx
Beberapa metode tambahan:
& Nbsp; * count ()
& Nbsp; * tambahan () (dilewatkan ke queryset yang)
& Nbsp; * semua () (tidak apa-apa)
& Nbsp; * select_related () (dilewatkan ke queryset yang)
& Nbsp; * group_by (bidang, bidang, bidang)
& Nbsp; * set_options (index = '', bobot = {}, bobot = [])
Lapisan Django-sphinx juga mendukung beberapa query dasar selama beberapa indeks. Untuk menggunakan ini, Anda harus terlebih dahulu memahami aturan UNION. Indeks Anda harus berisi persis bidang yang sama. Bidang ini juga harus mencakup pilihan content_type yang harus id content_type yang terkait dengan tabel (model).
Anda kemudian dapat melakukan sesuatu seperti ini:
SphinxSearch ('index1 Index2 index3'). Query ('halo')
Ini akan mengembalikan daftar semua pertandingan, diperintahkan oleh berat badan, dari semua indeks. Ini melakukan satu query SQL per indeks dengan pertandingan di dalamnya, sebagai ORM Django tidak mendukung SQL UNION

Persyaratan :.

  • Django
  • Python

Perangkat lunak lain dari pengembang David Cramer

nose-bisect
nose-bisect

14 Apr 15

nexus-memcache
nexus-memcache

15 Apr 15

Logan
Logan

20 Feb 15

taskmaster
taskmaster

14 Apr 15

Komentar untuk django-sphinx

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!