إجراء بحث حسب الأجزاء باستخدام C#

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

خطوات إجراء البحث حسب الأجزاء باستخدام C#

  1. قم بإعداد بيئة التطوير الخاصة بك عن طريق دمج GroupDocs.Search for .NET في مشروعك لتمكين إجراء البحث حسب الأجزاء
  2. قم بتهيئة كائن Index عن طريق تحديد مسار المجلد الذي سيتم تخزين الفهرس فيه
  3. استخدم طريقة Index.Add لفهرسة المستندات من المجلد المحدد لجعل المستندات قابلة للبحث
  4. قم بإنشاء مثيل لفئة SearchOptions وقم بتعيين خاصية IsChunkSearch إلى true لتمكين البحث المجزأ
  5. استدعاء طريقة Index.Search باستخدام سلسلة الاستعلام وخيارات البحث المُهيأة

يتضمن مفهوم البحث عن المستندات حسب الأجزاء في C# تقسيم عملية البحث إلى أجزاء يمكن إدارتها، مما يسمح بمعالجة كل جزء من الفهرس بشكل فردي. يتم تحقيق ذلك باستخدام مزيج من فئة Index وفئة SearchOptions، حيث تعمل خاصية IsChunkSearch على تمكين البحث المجزأ. يوضح الكود أدناه كيفية إنشاء فهرس وإضافة مستندات وتنفيذ استعلام بحث مجزأ. يتم استرداد النتائج جزءًا تلو الآخر باستخدام طريقة SearchNext، مما يضمن معالجة فعالة لمجموعات البيانات الكبيرة.

كود لإجراء بحث حسب الأجزاء باستخدام C#

using GroupDocs.Search;
using GroupDocs.Search.Options;
using GroupDocs.Search.Results;
using System;
namespace PerformSearchbyChunksUsingCSharp
{
internal class Program
{
static void Main(string[] args)
{
// Apply the license to remove the restrictions
// imposed by the Search library
License lic = new License();
lic.SetLicense(@"GroupDocs.Search.lic");
string indexFolder = @"d:\MyIndex\";
string documentsFolder = @"d:\MyDocuments\";
string query = "Einstein";
// Creating an index in the specified folder
Index index = new Index(indexFolder);
// Indexing documents from the specified folder
index.Add(documentsFolder);
// Creating a search options instance
SearchOptions options = new SearchOptions();
options.IsChunkSearch = true; // Enabling the search by chunks
// Starting the search by chunks
SearchResult result = index.Search(query, options);
Console.WriteLine("Document count: " + result.DocumentCount);
Console.WriteLine("Occurrence count: " + result.OccurrenceCount);
// Continuing the search by chunks
while (result.NextChunkSearchToken != null)
{
result = index.SearchNext(result.NextChunkSearchToken);
Console.WriteLine("Document count: " + result.DocumentCount);
Console.WriteLine("Occurrence count: " + result.OccurrenceCount);
}
}
}
}

يوفر البحث المجزأ حلاً قويًا للتعامل بكفاءة مع عمليات البحث عن البيانات واسعة النطاق من خلال تقسيم العملية إلى أجزاء أصغر يمكن إدارتها. يعد هذا النهج قيمًا بشكل خاص عندما تحتاج إلى البحث في فهارس المستندات الكبيرة في C#، مما يوفر مزايا التوسع والأداء. علاوة على ذلك، يضمن التوافق بين الأنظمة الأساسية للمكتبة الأساسية النشر السلس عبر أنظمة Windows وmacOS وLinux. من خلال دمج هذه التقنية، يمكن للمطورين إنشاء حلول بحث قوية ومرنة تلبي متطلبات التطبيقات الحديثة كثيفة البيانات.

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

 عربي