بحث Discourse Algolia

:discourse2: Summary Discourse Algolia Search integrates Algolia with Discourse search.
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-algolia
:open_book: Install Guide How to install plugins in Discourse

Features

I’ve recently created a plugin that indexes topics, posts, users and tags with Algolia and combines them into a multi-category autocomplete search. Here’s a GIF of how it works:

You can find the Github repository, complete with installation instructions, on github at algolia/discourse-algolia.

Plugin configuration just requires populating a few fields. Indexing tasks are put in the jobs queue after objects are saved. Note: you will need to create an Algolia account, which is free up to 10,000 records.

Configuration

:raising_hand_woman: FAQ

Q: Does this replace the default Discourse search?
A: Only if you want it to, and right now only for the autocomplete in the header. The full search page is still reachable by hitting the enter key without a search result selected, or by using the “advanced search” link in the autocomplete footer. I say “only if you want it to” because you can enable indexing to Algolia but not affect the UI or existing Discourse search in any way - that’s why there are two checkboxes in the plugin settings. If you’re just doing indexing, you can search the data in your Algolia dashboard to see how it’s working.

Q: Do I have to pay to use the plugin?
A: It depends on how much data you have. If you have less than 1k posts, you should fit into Algolia’s free Community Plan, which gives you 10k records. A good rule of thumb is that you’ll need 10 Algolia records for each post, as posts are split up into-paragraph size chunks for optimum relevance and speed. Still, YMMV. If you’d like to use the plugin but have concerns about the cost, just send me an email and I’ll see what we can do. If you are an open source project or a non-profit, you may quality for higher limits, just fill out this form and mention Discourse.

CHANGELOG

2022.11.02

Pushed PR

  • Updated algoliasearch.js to 4.14.2
  • Updated autocomplete.js to 1.7.1

2020.09.08

Pushed 8 commits to GitHub - discourse/discourse-algolia: A plugin for indexing and searching your Discourse with Algolia

  • It should fix the bug where the search box stopped working after multiple page loads. :warning: NOTE: the plugin needs the very latest version of Discourse to work

  • The plugin is now using Discourse scss variables, and will now work correctly in Dark mode

  • Fixed a bug where user search was leading to /users instead of /u and would result in a 404. :warning: NOTE: You will need to reindex users for this to work correctly rake algolia:reindex_users

  • Fxed an alignment issue of the searchbox

  • Applied various coding standards

  • Removed part of the jquery usage

  • Searchbox should be slightly faster, as it’s now tied to rendering instead of arbitrary 100ms wait (also removed the forbidden setTimeout usage)


TODO

pr-welcome for the following tasks:

  • update algoliasearch (ruby)

This would ensure we are not deprecated in the future and allow to import libraries instead of having it in global namespace.

Last edited by @awesomerobot 2025-03-10T20:32:59Z

Check documentPerform check on document:
61 إعجابًا

يبدو أن المكون الإضافي يقوم بإعادة الفهرسة تلقائيًا. هل يمكن لأحد أن يخبرني كم مرة يفعل ذلك؟ لا أرى أي وثائق حول هذا الموضوع.
شكرا

إعجاب واحد (1)

ما لم يعرف شخص ما في المجتمع الإجابة، فقد يستغرق الأمر حتى الأسبوع المقبل للحصول على إجابة من فريق Discourse حول هذا الأمر.

أرى أن المكون الإضافي يقوم بتشغيل مهمة كل 5 دقائق لمعالجة جميع الكائنات (المشاركات والمواضيع والمستخدمين والعلامات) الموجودة في قائمة الانتظار للفهرسة: discourse-algolia/app/jobs/scheduled/update_indexes.rb at main · discourse/discourse-algolia · GitHub. ليس من الواضح لي ما الذي قد يتسبب في إعادة فهرسة كائن ما.

إذا أتيحت لك فرصة للرد، فأنا مهتم بمعرفة ما الذي تراه والذي يجعلك تعتقد أنه تتم إعادة فهرسة المحتوى.

إعجاب واحد (1)

مرحباً سيمون، شكراً على الرد! لقد أنشأت منشوراً تجريبياً. لدينا حساب Algolia. لذلك في اليوم التالي سجلت الدخول وأجريت بحثاً عن هذا المنشور داخل لوحة تحكم Algolia وظهر. أعتقد أنني تحققت مباشرة بعد النشر ولم أر المنشور في Algolia. لكنني أتفهم أنه يجب أن يكون هناك نوع من التأخير أثناء الفهرسة. 5 دقائق ستكون جيدة جداً. يمكنني تجربة منشور آخر والانتظار 10 دقائق لمعرفة ما إذا كان موجوداً. أنا متفاجئ لعدم وجود أي ذكر لهذا في الوثائق.

إعجابَين (2)

لقد بدأت للتو في اختبار هذه الإضافة. لدي بعض الأسئلة:

  1. عندما أبحث عن كلمة مفتاحية، تسرد Algolia فقرات مختلفة من نفس الموضوع فقط، بدلاً من عرض المواضيع الفريدة كما يفعل Discourse. ما لم يكن هذا الموضوع هو الإجابة النهائية، فإن هذه الطريقة تبدو مقيدة وغير دقيقة للمستخدمين النهائيين. هل يجب أن يكون هذا السلوك قابلاً للتكوين؟

  2. تنشئ الإضافة 3 فهارس في تطبيق Algolia: واحد لكل نوع من أنواع posts و tags و users. كيف يمكنني جعل هذه الإضافة تتضمن فهارس أخرى متاحة في تطبيق Algolia الخاص بي؟ حالة الاستخدام: البحث متعدد المواقع عبر Algolia.

الأخير هو أشبه بطلب ميزة، لكنني أعتقد اعتقادًا راسخًا أن الأول يحتاج إلى أن يكون خيارًا قابلاً للتكوين للحصول على نتائج بحث قابلة للاستخدام.

إعجاب واحد (1)

مرحباً،

هل البحث التلقائي يعمل أيضاً للجوال؟ لا أراه يعمل في منتدى Algolia

مرحباً،

لم تعد مجتمعات Algolia متاحة، لقد انتقلوا إلى Discord

وداعاً لمنتديات Discourse الخاصة بنا (وما سيأتي بعد ذلك) - مدونة Algolia | Algolia

بالإضافة إلى ذلك، تغير تصميم تجربة المستخدم. يبدو + حديثًا الآن. هل هناك أي خطط لتحديث المكون الإضافي؟

وهل من الممكن نقل أزرار “تسجيل الدخول” و “التسجيل” إلى الزاوية اليمنى (افتراضيًا) وتوسيط شريط البحث، تمامًا مثل مكون سمة “بحث الرأس”؟

يمين

إعجابَين (2)

لا يوجد شيء ملموس في الوقت الحالي، لدينا عدد قليل جدًا من العملاء الذين يستخدمون هذا المكون الإضافي

3 إعجابات