Thinking Sphinx هي مكتبة لتوصيل ActiveRecord بأداة البحث عن النص الكامل لـ Sphinx، وتتكامل بشكل وثيق مع Rails (ولكنها تعمل أيضًا مع أطر عمل الويب الأخرى الخاصة بـ Ruby). الإصدار الحالي هو v5.6.0.
يرجى الرجوع إلى سجل التغيير وملاحظات الإصدار لمعرفة أي تغييرات تحتاج إلى إجرائها عند الترقية. تعتبر ملاحظات الإصدار على وجه الخصوص جيدة جدًا في تغطية التغييرات العاجلة ومزيد من التفاصيل حول الميزات الجديدة.
تحتوي الوثائق أيضًا على مزيد من التفاصيل حول ما يتضمنه الترقية من الإصدار 4 إلى الإصدار 5، والإصدار 3 إلى الإصدار 4، والإصدار 1/الإصدار 2 إلى الإصدار 3.
إنها جوهرة، لذا قم بتثبيتها كما تفعل مع أي جوهرة أخرى. ستحتاج أيضًا إلى تحديد mysql2 Gem إذا كنت تستخدم MRI ، أو jdbc-mysql إذا كنت تستخدم JRuby:
gem 'mysql2', '~> 0.4', :platform => :ruby
gem 'jdbc-mysql', '~> 5.1.35', :platform => :jruby
gem 'thinking-sphinx', '~> 5.5'
إن جواهر MySQL المذكورة مطلوبة للاتصال بـ Sphinx، لذا يرجى تضمينها حتى عند استخدام PostgreSQL لقاعدة بياناتك.
ستحتاج أيضًا إلى تثبيت Sphinx – وهذا ما تمت تغطيته في الوثائق الموسعة.
ابدأ بقراءة دليل البدء السريع، وبعد ذلك، يجب أن تخدمك الوثائق بشكل جيد.
يعمل الإصدار الحالي من Thinking Sphinx مع الإصدارات التالية من تبعياته:
مكتبة | الحد الأدنى | تم اختباره ضد |
---|---|---|
روبي | v2.4 | v2.4، v2.5، v2.6، v2.7، v3.0، v3.1، v3.2 |
أبو الهول | v2.2.11 | الإصدار 2.2.11، الإصدار 3.4.1 |
مانتيكور | v2.8 | الإصدار 4.0، الإصدار 6.0 |
ActiveRecord | v4.2 | v4.2..v7.0 |
قد يعمل مع الإصدارات الأقدم من روبي، ولكن يوصى بشدة بالتحديث إلى إصدار مدعوم.
يجب أن تعمل أيضًا مع JRuby، لكن بيئة الاختبار لذلك في CI كانت غير موثوقة، وبالتالي لم يتم اختبارها بشكل فعال في الوقت الحالي.
إذا كنت تستخدم Sphinx، فمن المستحسن الإصدار 2.2.11 على الرغم من أنه قديم جدًا، لأنه يعمل بشكل جيد مع قواعد بيانات PostgreSQL (ولكن إذا كنت تستخدم MySQL - أو مؤشرات الوقت الفعلي - فيجب أن يكون الإصدار 3.3.1 جيدًا أيضًا).
إذا كنت تختار Manticore بدلاً من ذلك، فإن الإصدار 2.8 أو الأحدث يعمل، ولكن يوصى باستخدام الإصدار 4 أو الأحدث لأن هذا هو ما يتم اختباره بشكل فعال. كان الإصداران v4.2 و5.0 يحتويان على أخطاء في البحث عن الجوانب، ولكن تم إصلاح ذلك في Manticore v6.0.
تم تصميم Thinking Sphinx حاليًا لدعم Rails/ActiveRecord 4.2 أو الأحدث. إذا كنت تستخدم Sinatra وActiveRecord بدلاً من Rails، فلا بأس بذلك - فقط تأكد من إضافة الخيار :require => 'thinking_sphinx/sinatra'
عند إدراج thinking-sphinx
في ملف Gemfile الخاص بك.
إذا كنت تريد دعم ActiveRecord 3.2-4.1، فارجع إلى إصدارات 4.x من Thinking Sphinx. أو، للحصول على دعم ActiveRecord 3.1، قم بالرجوع إلى إصدارات 3.0.x. أي شيء أقدم من ذلك، فأنت عالق في Thinking Sphinx v2.x (لـ Rails/ActiveRecord 3.0) أو v1.x (Rails 2.3). يرجى ملاحظة أن هذه الإصدارات الأقدم لم تعد مدعومة بشكل فعال.
ستحتاج إما إلى Ruby القياسي (الإصدار 2.4 أو الأحدث) أو JRuby (الإصدار 9.1 أو الأحدث).
يتم دعم MySQL 5.x وPostgres 8.4 أو أفضل.
يرجى ملاحظة أن هذا المشروع يحتوي على قواعد سلوك للمساهم. بمشاركتك في هذا المشروع فإنك توافق على الالتزام بشروطه.
للمساهمة، قم باستنساخ هذا المستودع وإلقاء نظرة فاحصة على المواصفات - ستلاحظ الفرق بين اختبارات القبول التي تستخدم Sphinx فعليًا وتخضع للمكدس الكامل، واختبارات الوحدة (كل شيء آخر) التي تستخدم اختبارًا ليبراليًا مزدوجًا للتأكد من أنها 'نحن فقط نختبر سلوك الفصل المعني. لقد وجدت أن هذا يؤدي إلى تصميم كود أفضل بكثير.
تتم جميع عمليات التطوير على فرع develop
؛ يرجى إسناد أي طلبات سحب من هذا الفرع. يرجى كتابة الاختبارات ثم الرمز لاجتيازها وإرسالها من خلال طلب سحب.
لإجراء الاختبارات، ستحتاج إلى إنشاء قاعدة بيانات باسم thinking_sphinx
:
# Either fire up a MySQL console:
mysql -u root
# OR a PostgreSQL console:
psql
# In that console, create the database:
CREATE DATABASE thinking_sphinx;
يمكنك بعد ذلك إجراء اختبارات الوحدة باستخدام rake spec:unit
، أو اختبارات القبول باستخدام rake spec:acceptance
، أو جميع الاختبارات باستخدام rake
فقط. لتشغيلها باستخدام PostgreSQL، ستحتاج إلى تعيين متغير بيئة DATABASE
وفقًا لذلك:
DATABASE=postgresql rake
حقوق الطبع والنشر © 2007-2024، تم تطوير Thinking Sphinx وصيانته بواسطة Pat Allan، وتم إصداره بموجب ترخيص MIT المفتوح. شكرا جزيلا لجميع الذين ساهموا في التصحيحات.