صِف الميزة :
المعلمة search_after
الجديدة رائعة في الترحيل عبر مجموعات النتائج الضخمة! أحاول توصيل ElasticSearch بواجهة برمجة تطبيقات GraphQL باستخدام مواصفات اتصال Relay ، وأواجه مشكلة حيث لا يمكنني تحديد ما إذا كانت هناك نتائج إضافية قبل أو بعد المجموعة الحالية. يمكنني حلها في الوقت الحالي من خلال استرداد نتيجة واحدة أكثر مما أحتاجه في النهاية الخلفية للمجموعة ، ثم تنفيذ استعلام آخر لنتيجة واحدة قبل المجموعة (عكس الترتيب). هذا يبدو عتيق بالرغم من ذلك. هل من الممكن الحصول على طريقة لتحديد وجود السجلات الأمامية والخلفية ، أو لتحديد موضع المجموعة الحالية ضمن النتيجة الإجمالية؟ أستطيع أن أرى أن هذا مطلب لكثير من حالات الاستخدام.
نظرًا للطريقة التي يتم بها تنفيذ الأشياء ، يمكننا نظريًا حساب عدد المستندات التي نتجاهلها نظرًا لحقيقة أن المقارنة أقل من قيم الفرز المتوفرة في search_after
. ومع ذلك ، فإن هذا يعني تحديث الاستجابات لواجهة برمجة تطبيقات البحث لتضمين هذه المعلومات ، وتعديل جامعي لوسين لفضح هذه الإزاحة ونشر هذه المعلومات بشكل عام من المجمع حتى استجابة البحث ، بحيث لا يكون هذا تغييرًا بسيطًا. أقترح أن نبقي هذه المشكلة مفتوحة لبعض الوقت من أجل قياس مدى الاهتمام الذي تحظى به.
cc @ مرونة / es-search-aggs
نظرًا لأننا لم نلاحظ اهتمامًا كبيرًا بهذه المشكلة ، ولأنها ستتطلب الكثير من التعديلات ، وهناك حل بديل من حجم العميل ، فأنا أغلق هذه المشكلة.
التعليق الأكثر فائدة
نظرًا للطريقة التي يتم بها تنفيذ الأشياء ، يمكننا نظريًا حساب عدد المستندات التي نتجاهلها نظرًا لحقيقة أن المقارنة أقل من قيم الفرز المتوفرة في
search_after
. ومع ذلك ، فإن هذا يعني تحديث الاستجابات لواجهة برمجة تطبيقات البحث لتضمين هذه المعلومات ، وتعديل جامعي لوسين لفضح هذه الإزاحة ونشر هذه المعلومات بشكل عام من المجمع حتى استجابة البحث ، بحيث لا يكون هذا تغييرًا بسيطًا. أقترح أن نبقي هذه المشكلة مفتوحة لبعض الوقت من أجل قياس مدى الاهتمام الذي تحظى به.