جانغو-أبو الهول هو تكون طبقة وظائف مثل الكثير من جانغو ORM يفعل إلا أنه يعمل على الجزء العلوي من محرك البحث كامل النص أبو الهول.
يرجى ملاحظة: سوف تحتاج إلى إنشاء فهارس أبو الهول الخاصة بك وتثبيت أبو الهول على الخادم الخاص بك لاستخدام هذا التطبيق.
لن يكون هناك اطلاق سراح الحزم المتوفرة. يرجى استخدام SVN إلى الخروج أحدث إصدار الجذع، كما يجب أن تكون مستقرة دائما والحالي.
تثبيت:
لتثبيت أحدث إصدار مستقر:
سودو easy_install djangosphinx
لتثبيت أحدث إصدار التنمية (محدث في كثير من الأحيان):
إس في الخروج http://django-sphinx.googlecode.com/svn/trunk/ جانغو-أبو الهول
مؤتمر نزع السلاح جانغو-أبو الهول
سودو بيثون setup.py تثبيت
ملاحظة: سوف تحتاج إلى تثبيت حزمة sphinxapi.py إلى مسار بيثون الخاص بك أو استخدام أحد وشملت الإصدارات. لاستخدام النسخة وشملت، يجب عليك تحديد ما يلي في ملف settings.py الخاص بك:
# أبو الهول 0.9.9
SPHINX_API_VERSION = 0x116
# أبو الهول 0.9.8
SPHINX_API_VERSION = 0x113
# أبو الهول 0.9.7
SPHINX_API_VERSION = 0x107
الاستعمال:
وفيما يلي بعض استخدام سبيل المثال:
فئة MyModel (models.Model):
على & nbsp؛ البحث = SphinxSearch () # اختياري: الافتراضي db_table
على & nbsp؛ # إذا كان اسم الفهرس الخاص بك لا يتطابق MyModel._meta.db_table
على & nbsp؛ # ملاحظة: يمكنك توليد التكوينات فقط التلقائي من البرنامج النصي ./manage.py
على & nbsp؛ # إذا كان اسم الفهرس الخاص بك مباريات.
على & nbsp؛ البحث = SphinxSearch ('index_name')
على & nbsp؛ # أو ربما نحن نريد أن نكون أكثر تحديدا ..
على & nbsp؛ searchdelta = SphinxSearch (
على & nbsp؛ مؤشر = 'delta_name index_name،
على & nbsp؛ الأوزان = {
على & nbsp؛ 'اسم': 100،
على & nbsp؛ 'وصف': 10،
على & nbsp؛ 'علامات': 80
على & nbsp؛}
على & nbsp؛)
queryset = MyModel.search.query ('استعلام')
results1 = queryset.order_by ('@ الوزن'، '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 يمكنك الآن الوصول إلى سمة للحصول على الوزن ومماثلة الحجج
للحصول على نتيجة في results1:
على & nbsp؛ نتيجة الطباعة، result._sphinx
# يمكنك أيضا الوصول إلى مجموعة مماثلة من البيانات الوصفية على queryset نفسها (مرة واحدة ما كان شرائح او اعدمت بأي شكل من الأشكال)
results1._sphinx الطباعة
بعض وسائل إضافية:
على & nbsp؛ * عدد ()
على & nbsp؛ * خارج () (تمريرها إلى queryset)
على & nbsp؛ * كل () (لا يفعل شيئا)
على & nbsp؛ * select_related () (تمريرها إلى queryset)
على & nbsp؛ * GROUP_BY (حقل، الحقل، حقل)
على & nbsp؛ * set_options (الرقم القياسي = ''، والأوزان = {}، والأوزان = [])
طبقة جانغو-أبو الهول كما يدعم بعض الاستعلام الأساسي على فهارس متعددة. لاستخدام هذه تحتاج أولا إلى فهم قواعد لUNION. يجب أن يحتوي على الأرقام القياسية الخاصة بك بالضبط نفس المجالات. ويجب أن تشمل هذه المجالات أيضا مجموعة مختارة CONTENT_TYPE التي ينبغي أن تكون هوية CONTENT_TYPE المرتبطة بهذا الجدول (نموذج).
يمكنك بعد ذلك أن تفعل شيئا من هذا القبيل:
SphinxSearch ('index1 index2 index3'). الاستعلام ('مرحبا')
هذا سيعود قائمة بجميع المباريات، بأمر من وزنه، من جميع الفهارس. هذا يؤدي الاستعلام SQL واحد لكل مؤشر والمباريات في ذلك، كما اسندت جانغو لا يدعم UNION SQL
المتطلبات:.
جانغو
الثعبان
لم يتم العثور على التعليقات