هل توجد أي واجهة برمجة تطبيقات مفتوحة للحصول على مواضيع مشابهة في discourse؟

أحتاج إلى واجهة برمجة تطبيقات (API) تمنحني مواضيع مشابهة.
متطلبي: إذا كان لدي عنوان موضوع، فسأحصل على مواضيع مشابهة له.

سترى أنه عند طلب JSON لموضوع معين، يحتوي على قسم يُسمى suggested_topics.

https://meta.discourse.org/t/144806/2.json:

يمكن البحث من العنوان إلى معرف الموضوع باستخدام البحث:

https://meta.discourse.org/search.json?q=title%3A%22Is%20there%20is%20any%20open%20API%20for%20getting%20similar%20topic%20in%20discourse%22&page=1

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

يعمل الأمر على meta.discourse لكنه لا يعمل على منتداك. منتداك هو forum.crio.do
إذا ذهبت إلى forum.crio.do/t/8497/2.json فلن تظهر أي نتائج.

يبدو أن هذا مجتمع خاص، لذا فإن الطلبات غير المصادق عليها لن تُرجع أي بيانات. يعمل الأمر على Meta باستخدام https://meta.discourse.org/t/144806/2.json لأن المحتوى متاح للعرض علنًا.

راجع Discourse REST API Documentation و Use the Discourse API ruby gem لمزيد من المعلومات حول مصادقة طلباتك باستخدام api_key و api_username.

الموضوع المحدد يحتوي على مشاركة واحدة فقط، لذا لا توجد مشاركة رقم 2.
يجب أن يكون الرابط: https://forum.crio.do/t/8497/1.json

يمكنك دائمًا استخدام t/<topic_id>/1.json

وبالفعل، يجب استخدام مفتاح API لأن لديك مجتمعًا مغلقًا.

هل يمكن أن يعمل هذا أيضًا بطريقة ما للنصوص العشوائية التي تُمرَّر من مصدر خارجي؟ بعبارة أخرى، هل يمكنني استخدام دالة مطابقة التشابه الحالية لإرجاع قائمة بالمواضيع الموجودة المحتملة بناءً على النص المقدم إلى واجهة برمجة التطبيقات، بدلاً من الاعتماد على موضوع موجود فعليًا يجب تحديده؟

آسف إذا كانت هذه السؤال تافهًا. لست مطورًا، لكنني أجمع بعض المعلومات قبل التحدث مع مطور بشأن ميزة أفكر في طلبها. الفكرة هي ربط، على سبيل المثال، Intercom (أو بديل مفتوح المصدر في هذه الحالة) بمنتدى Discourse، بحيث عندما يكتب شخص ما سؤالًا في مربع الدردشة، يمكنه البحث عن مطابقات مواضيع محتملة في Discourse وتقديمها كمكان محتمل لإيجاد إجاباتهم أو توجيه أسئلتهم. وهذا يشبه إلى حد ما كيفية قدرة Intercom بالفعل على الوصول إلى قاعدة معرفة لتقديم إجابات محتملة.

في الواقع، يمكن أتمتة أي شيء في Discourse لأن Discourse هو تطبيق JavaScript وليس “صفحة ويب” تقليدية. في هذه الحالة، ستقوم بتكرار إجراءات واجهة المستخدم التي تتخذها من صفحة البحث المتقدم، على النحو التالي:

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

في حالتي الاستخدام، سأمرر محتوى رسالة المستخدم إلى وظيفة البحث العادية، وأرجع عددًا محددًا من النتائج كمواضيع ذات صلة محتملة؟ (قد لا تكون المصطلحات التي أستخدمها دقيقة تماماً هنا، لكنني أحتاج فقط إلى معرفة ما إذا كانت الفكرة الأساسية صحيحة :grinning_face_with_smiling_eyes:)

استخدم مفتش الويب كما هو مفصل في ذلك الموضوع لمراقبة ما يحدث أثناء الكتابة في المحرر وتشغيل حوار المواضيع المماثلة المقترحة.

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

شكرًا لك! لقد أجريت بعض الاختبارات قبل ردك ولاحظت أن نتائج البحث والمواضيع المشابهة اختلفت قليلاً، لذا فهذا أمر مثير للاهتمام. ومع ذلك، فإن المعلومات الواردة هنا كافية لأتمكن من إقناع المجموعة التي أنا في نقاش معها بتبني Discourse.