
في عالم اليوم من البيانات غير المهيكلة والإدخال غير المتسق من المستخدمين، غالباً ما تفشل المطابقات الدقيقة في عمليات البحث. سواء كنت تعمل على نظام إدارة المستندات، أو أداة تحليل المحتوى، أو محرك بحث مؤسسي، فإن تنفيذ البحث الضبابي يسمح لك باسترجاع نتائج ذات صلة حتى عندما يحتوي استعلام البحث على أخطاء مطبعية، أو تباينات هجائية، أو اختلافات طفيفة. في منشور المدونة هذا، سنستكشف كيفية تنفيذ البحث الضبابي في C# باستخدام Conholdate.Total لـ .NET SDK. ستتعلم كيفية البحث عبر عدة ملفات مخزنة في مجلدات متنوعة باستخدام مستويات تشابه قابلة للتعديل من أجل دقة ومرونة أكبر.
لماذا تستخدم عملية البحث الضبابية؟
البحث الغامض هو ميزة أساسية لأي تطبيق حديث يتعامل مع المحتوى الذي ينشئه المستخدمون أو يعمل مع مصادر نصية متنوعة. على عكس البحث الدقيق، الذي يعيد فقط النتائج التي تتطابق مع الاستعلام تمامًا، يقوم البحث الغامض باسترجاع الوثائق التي قريبة بما يكفي من استعلام البحث بناءً على مستوى محدد من التشابه. هذه الطريقة تُحسن تجربة المستخدم بشكل كبير من خلال احتساب الأخطاء المطبعية أو عدم تناسق الهجاء أو الاختلافات اللغوية الطفيفة.
على سبيل المثال، في سيناريو حيث يبحث المستخدمون عن كلمة “reciept” بدلاً من “receipt”، فإن البحث الدقيق سيفشل، بينما سيظل البحث العائم يعيد نتائج ذات صلة. هذا مفيد بشكل خاص في مجالات مثل استرجاع الوثائق القانونية، والبحوث الأكاديمية، واستخراج البيانات في المؤسسات، حيث يكون الدقة والمرونة كلاهما حاسمان.
بحث غامض - إعدادات .NET
يجب عليك تثبيت Conholdate.Total for .NET باستخدام أمر تثبيت NuGet التالي:
Install-Package Conholdate.Total
بحث ضبابي عبر ملفات ومجلدات متعددة في C#
يمكنك إجراء بحث غير دقيق عبر مجموعة واسعة من الوثائق المخزنة في مجلدات مختلفة. يمكنك بسهولة تكوين مستويات التشابه وتحديد الهيكل الخاص بالفهرسة والبحث.
// Creating an index folder and add document's folder to it
Index index = new Index("indexing-folder-path");
index.Add("path/parent-folder");
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Enabling the fuzzy search
options.FuzzySearch.FuzzyAlgorithm = new SimilarityLevel(0.7);
string query = "nulla"; // search approximate matches of the provided query
SearchResult result = index.Search(query, options);
في هذا المقتطف من الشيفرة:
يتم إنشاء فهرس جديد يشير إلى الدليل المستخدم للفهرسة.
تمت إضافة مجلد أب يحتوي على جميع المستندات إلى هذا الفهرس.
تم تمكين البحث الضبابي من خلال فئة SearchOptions.
تم تعيين مستوى التشابه إلى 0.7، وهو ما يتوافق مع تطابق بنسبة 70% أو نسبة خطأ قدرها 30%.
تم تمرير استعلام البحث “nulla”، وتقوم النظام باسترجاع النتائج التي تلبي عتبة التشابه.
يمكنك ضبط مستوى التشابه اعتمادًا على مدى صرامة أو تساهل النتائج التي تريدها في البحث. يسمح العتبة الأدنى بمزيد من المرونة، بينما يضمن العتبة الأعلى مطابقة أكثر دقة.
فوائد مستوى التشابه القابل للتخصيص
واحدة من الميزات البارزة لـ Conholdate.Total لواجهة برمجة تطبيقات .NET هي القدرة على التحكم في عتبة التشابه للبحث الضبابي. هذه المستوى من التخصيص يوفر تحكمًا دقيقًا في عملية المطابقة، مما يضمن أن تكون النتائج ذات صلة وموثوقة.
تشابه أعلى (على سبيل المثال، 0.9): استخدمه عندما تكون الدقة حاسمة، وترغب في الحصول على نتائج قريبة جداً من الاستعلام الأصلي.
تشابه منخفض (على سبيل المثال، 0.6): مناسب للبحث الاستكشافي أو عندما قد يقوم المستخدمون بإدخال بيانات تحتوي على أخطاء متكررة.
يمكن أن يوفر تغيير هذه القيمة برمجياً للمطورين المرونة للتكيف مع حالات الاستخدام المختلفة دون الحاجة إلى إعادة الفهرسة أو إعادة تكوين النظام بالكامل.
رخصة تقييم مجانية
يمكنك الحصول على الرخصة المؤقتة المجانية لتجنب قيود التجربة للـ SDK والقدرة على اختباره بكامل طاقته.
خاتمة
Fuzzy search هو ميزة حيوية للتطبيقات التي تحتاج إلى تقديم قدرات بحث ذكية ومرنة وسهلة الاستخدام. من خلال استخدام Conholdate.Total لـ .NET SDK، يمكن للمطورين دمج وظيفة البحث الفوضوي القوية في تطبيقاتهم بلغة C# مع جهدminimal. سواء كنت تبحث عبر آلاف الوثائق القانونية أو تتصفح المحتوى الذي أنشأه المستخدمون، يوفر هذا SDK الأدوات للتعامل معها بدقة ومرونة. قم بضبط مستويات التشابه، وابحث عبر المجلدات، واسترجع النتائج الأكثر صلة، حتى عندما لا يكون الإدخال مثالياً.