كود Dice.com لتنفيذ الأفكار التي تمت مناقشتها في المحادثات التالية:
يعد هذا امتدادًا لعملي السابق حول "البحث المفاهيمي" والذي يمكن العثور عليه هنا - https://github.com/DiceTechJobs/ConceptualSearch (بما في ذلك الشرائح وروابط الفيديو). في هذه المحادثة، أقدم عددًا من الطرق المختلفة للبحث عن المتجهات على نطاق واسع باستخدام فهرس مقلوب. ينفذ هذا أساليب البحث التقريبي لأقرب جار بما في ذلك:
ويصف كيف يمكن تنفيذ هذه الأفكار والاستعلام عنها بكفاءة ضمن فهرس مقلوب.
تحديث: بعد التحدث مع Trey Grainger وErik Hatcher من شركة LucidWorks، أوصوا باستخدام تردد المصطلح بدلاً من الحمولات الصافية للحلول حيث أقوم بتضمين أوزان المصطلحات في الفهرس واستخدام وظيفة تشابه خاصة مدركة للحمولة النافعة (والتي لن تكون هناك حاجة إليها أيضًا). تتحمل الحمولات عقوبة أداء كبيرة. يكمن التحدي في هذا في الأوزان السالبة، وأفترض أنه من غير الممكن تشفير ترددات المصطلحات السلبية، ولكن يمكن التغلب على ذلك من خلال وجود رموز مختلفة للرموز المميزة الموجبة والسالبة، وإجراء تعديلات مماثلة في وقت الاستعلام (حيث يمكن التعزيزات السلبية يتم تطبيقها في Solr حسب الحاجة).
وثائق لوسين: مرشح تردد محدد المدة لوسين
كان هناك أيضًا تحديث حديث لنواة Lucene قابل للتطبيق هنا وسيشق طريقه قريبًا إلى البحث المرن في وقت كتابة هذا التقرير: Block Max WAND. ينتج عن ذلك سرعة كبيرة في استعلامات OR المنطقية الكبيرة حيث لا تحتاج إلى معرفة العدد الدقيق للنتائج ولكنك تهتم فقط بالحصول على نتائج أعلى N في أسرع وقت ممكن. جميع الأساليب التي أناقشها هنا تولد استعلامات OR كبيرة نسبيًا، وبالتالي فإن هذا مهم جدًا. لقد قرأت أيضًا أن التنفيذ الحالي لـ "mind-should-match" يتضمن أيضًا تحسينات مماثلة، وبالتالي يمكن بالفعل تحقيق نفس النوع من مكاسب الأداء باستخدام إعدادات mm المناسبة، وهو أمر كنت أجربه بالفعل في الكود الخاص بي.
تفعيل 2018: "المتجهات في البحث"
كومة قش 2019: "البحث باستخدام المتجهات"
سايمون هيوز (كبير علماء البيانات، Dice.com)