django-sphinx

Screenshot Software:
django-sphinx
Mga detalye ng Software:
Bersyon: 2.2.4
I-upload ang petsa: 11 May 15
Nag-develop: David Cramer
Lisensya: Libre
Katanyagan: 1

Rating: nan/5 (Total Votes: 0)

django-sphinx ay isang layer na pag-andar tulad ng magkano ang Django ORM ay maliban ito ay gumagana sa tuktok ng Sphinx full-text search engine.
Mangyaring Tandaan: Kakailanganin mo upang lumikha ng iyong sariling mga index sphinx at i-install sphinx sa iyong server upang gamitin ang app na ito.
May ay hindi na magiging pakawalan pakete na magagamit. Mangyaring gamitin SVN sa paglabas ang pinakabagong bersyon trunk, bilang na ito ay palaging magiging matatag at kasalukuyang.

I-install:

Upang i-install ang pinakabagong matatag na bersyon:
sudo easy_install djangosphinx
Upang i-install ang pinakabagong bersyon unlad (lubos na madalas na-update):
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ django-sphinx
cd django-sphinx
sudo python setup.py install
Tandaan: Ikaw ay kailangan upang i-install ang sphinxapi.py package sa iyong Path Python o gamitin ang isa sa mga kasama bersyon. Upang gamitin ang mga kasama bersyon, dapat mong tukuyin ang mga sumusunod sa inyong settings.py file:
# Sphinx 0.9.9
SPHINX_API_VERSION = 0x116
# Sphinx 0.9.8
SPHINX_API_VERSION = 0x113
# Sphinx 0.9.7
SPHINX_API_VERSION = 0x107

Usage:

Ang mga sumusunod ay ilang mga halimbawa ng paggamit:
klase MyModel (models.Model):
& Nbsp; search = SphinxSearch () # opsyonal: default na db_table
& Nbsp; # Kung ang pangalan ng iyong index ay hindi tumutugma MyModel._meta.db_table
& Nbsp; # Tandaan: Maaari ka lamang bumuo ng mga awtomatikong pagsasaayos mula sa ./manage.py script
& Nbsp; # kung ang iyong pangalan ng index matches.
& Nbsp; search = SphinxSearch ('index_name')
& Nbsp; # O baka gusto namin na maging mas tiyak ..
& Nbsp; searchdelta = SphinxSearch (
& Nbsp; index = 'index_name delta_name',
& Nbsp; talaro = {
& Nbsp; 'name': 100,
& Nbsp; 'description': 10,
& Nbsp; 'tag': 80,
& Nbsp;}
& Nbsp;)
queryset = MyModel.search.query ('query')
results1 = queryset.order_by ('@ weight', '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 ()
# Bilang ng 2.0 maaari mo na ngayong ma-access ang isang katangian para makuha ang timbang at mga katulad na argumento
para sa mga resulta sa results1:
& Nbsp; ng resulta print, result._sphinx
# Maaari mo ring i-access ang isang katulad na hanay ng mga meta data sa queryset mismo (sa sandaling ito ay nai-hiwa o pagsubaybay sa anumang paraan)
print results1._sphinx
Ang ilang mga karagdagang mga paraan:
& Nbsp; * count ()
& Nbsp; * extra () (dumaan sa queryset)
& Nbsp; * lahat () (ay wala)
& Nbsp; * select_related () (dumaan sa queryset)
& Nbsp; * group_by (field, field, field)
& Nbsp; * set_options (index = '', talaro = {}, talaro = [])
Sinusuportahan din ng django-sphinx layer ng ilang mga pangunahing querying sa paglipas ng maramihang mga index. Upang gamitin ang mga ito, kailangan mo munang maunawaan ang mga patakaran ng isang unyon. Ang iyong mga index ay dapat maglaman ng eksaktong parehong patlang. Dapat ding isama ang mga patlang ng isang seleksyon CONTENT_TYPE na dapat ay ang CONTENT_TYPE id na kaugnay sa na table (modelo).
Pagkatapos ay maaari mong gawin ang isang bagay tulad nito:
SphinxSearch ('index1 index2 index3'). Query ('hello')
Ito ang magbabalik ng isang listahan ng lahat ng mga tugma, iniutos ng timbang, mula sa lahat ng mga index. Ito gumaganap ng isang SQL query per index na may mga tugma sa mga ito, tulad ORM Django ay hindi sumusuporta sa SQL Union

Kinakailangan .

  • Django
  • sawa

Iba pang mga software developer ng David Cramer

nydus-django
nydus-django

14 Apr 15

django-sentry
django-sentry

11 May 15

nose-kleenex
nose-kleenex

15 Apr 15

Mga komento sa django-sphinx

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!