GroupDocs.Search for .NET 26.10 متاح الآن. هذا إصدار رئيسي: تم إعادة تصميم تنسيق الفهرس، لذا فإن الفهارس تحتاج مساحة أقل على القرص، وتحتاج نصف الذاكرة العشوائية وتفتح أسرع بمقدار 2 إلى 4 مرات. تم تسريع البحث، الحذف، التحسين والبحث بالصور بمعدل عدة إلى مئات المرات، ولم تعد عمليات البحث تنتظر الفهرسة، كما أن بيانات الفهرس محمية باستخدام مجموعات التحقق (checksums) والتحديثات الذرية.
الفهارس الحالية التي أنشئت بالإصدارات 22.7–26.8 يتم تحويلها إلى التنسيق الجديد دون إعادة الفهرسة. يحتوي الإصدار على 22 تغييرًا: 4 ميزات جديدة، 15 تحسينًا و3 إصلاحات.
أبرز ما في الأداء
معظم التحسينات تزداد مع حجم الفهرس وعدد قطعه.
| ما | التحسين في 26.10 |
|---|---|
| الذاكرة العشوائية المطلوبة لفهرس محمَّل | 2 مرة أقل |
| فتح الفهرس | 2 إلى 4 مرات أسرع |
| حجم الفهرس على القرص | ينمو بنسبة تتناسب مع البيانات المفهرسة؛ كلما كان الفهرس أكبر، زادت نسبة التوفير |
| البحث عن كلمة في فهارس كبيرة | حتى مرتين أسرع؛ الكلمات النادرة 10 إلى 40 مرة أسرع |
| البحث الضبابي في فهارس كبيرة | 2.5 إلى 5 مرات أسرع |
| البحث باستخدام الأحرف البديلة (Wildcard) في فهارس كبيرة | 2.5 إلى 3 مرات أسرع |
| البحث باستخدام الأحرف البديلة، التعبيرات النمطية، النطاق الرقمي والبحث الضبابي على شكل قطع | 7 إلى 150 مرة أسرع |
| البحث عن نطاق تاريخي | 2 إلى 27 مرة أسرع |
| حذف المستندات | مئات المرات أسرع، 4 مرات أقل في الذاكرة، دون مساحة إضافية على القرص |
| تحسين الفهرس | 4 مرات أسرع، 4 مرات أقل في الذاكرة |
| أقصى استهلاك للذاكرة أثناء الفهرسة | 2 مرة أقل |
| استرجاع النص المخزن للمستند | حتى 15 مرة أسرع |
| بيانات البحث بالصور | 2.9 مرة أقل في الذاكرة، تحميل أسرع بـ 6.6 مرة، حفظ أسرع بـ 100 مرة؛ البحث العكسي بالصور حتى 1.8 مرة أسرع |
| البحث أثناء تعديل الفهرس | لم يعد محجوبًا |
| موثوقية الفهرس | مجموعات تحقق وتغييرات ذرية؛ تُكمل العمليات المتقطعة أو تُرجع إلى الحالة السابقة |
| خيوط البحث | جميع نوى المعالج بشكل افتراضي؛ يمكن تغييرها في أي وقت |
ما الجديد في هذا الإصدار
| المفتاح | الملخص | الفئة |
|---|---|---|
| SEARCHNET-3665 | تنفيذ القدرة على تغيير عدد خيوط البحث في أي وقت | ميزة |
| SEARCHNET-3666 | تنفيذ خيار لاستبدال الأحرف البديلة غير المتطابقة | ميزة |
| SEARCHNET-3667 | تنفيذ خيار لتخطي المصطلحات التي تتكون فقط من أحرف مدمجة | ميزة |
| SEARCHNET-3668 | تنفيذ تحديث نسخة الفهرس إلى التنسيق الجديد دون إعادة فهرسة المستندات | ميزة |
| SEARCHNET-3669 | تحسين استهلاك مساحة القرص للفهرس | تحسين |
| SEARCHNET-3670 | تحسين استهلاك الذاكرة لفهرس محمَّل | تحسين |
| SEARCHNET-3671 | تحسين سرعة تحميل الفهرس | تحسين |
| SEARCHNET-3672 | تحسين سرعة البحث في الفهارس الكبيرة | تحسين |
| SEARCHNET-3673 | تحسين البحث الضبابي | تحسين |
| SEARCHNET-3674 | تحسين البحث باستخدام الأحرف البديلة | تحسين |
| SEARCHNET-3675 | تحسين حذف وتحديث المستندات | تحسين |
| SEARCHNET-3676 | تحسين عملية تحسين الفهرس | تحسين |
| SEARCHNET-3677 | السماح بالبحث أثناء تعديل الفهرس | تحسين |
| SEARCHNET-3678 | تحسين موثوقية الفهرس | تحسين |
| SEARCHNET-3679 | تحسين استخدام الذاكرة أثناء الفهرسة | تحسين |
| SEARCHNET-3680 | تحسين استرجاع نص المستند | تحسين |
| SEARCHNET-3681 | تحسين البحث بالصور | تحسين |
| SEARCHNET-3682 | تنفيذ معالجة حالة الحروف بشكل موحد على جميع المنصات | تحسين |
| SEARCHNET-3688 | تحسين البحث على شكل قطع | تحسين |
| SEARCHNET-3683 | إصلاح عدد خيوط البحث الافتراضي | إصلاح |
| SEARCHNET-3684 | منع الفهرسة غير المتسقة بعد تغيير قواميس المصطلحات | إصلاح |
| SEARCHNET-3685 | منع دمج الفهارس التي تعالج النص بشكل مختلف | إصلاح |
الميزات الرئيسية
تخزين الفهرس والموثوقية
- الآن ينمو حجم الفهرس بنسبة تتناسب مع البيانات المفهرسة، لذا فإن الفهارس الكبيرة ذات القطع المتعددة توفر أكبر قدر من المساحة.
- الفهرس المحمَّل يحتاج نصف الذاكرة العشوائية، وفتح الفهرس أسرع بمقدار 2 إلى 4 مرات.
- بيانات الفهرس محمية بمجموعات تحقق، وتُطبق جميع التغييرات بصورة ذرية. إذا توقفت عملية بسبب خطأ أو انقطاع التيار أو إنهاء العملية، يبقى الفهرس في حالته المتسقة السابقة.
البحث
- تُقرأ فقط القطع التي تحتوي على مصطلحات الاستعلام، مما يسرّع البحث عن الكلمات، والبحث الضبابي، والبحث بالأحرف البديلة، والبحث على شكل قطع.
- يستخدم البحث جميع نوى المعالج بشكل افتراضي، ويمكن تغيير عدد الخيوط في أي وقت عبر
IndexSettings.SearchThreads. - لم تعد عمليات البحث وعمليات تعديل الفهرس (الفهرسة، التحديث، الحذف، الدمج، التحسين) تحجز بعضها البعض. كل عملية بحث تعمل على لقطة ثابتة من الفهرس.
الفهرسة والصيانة
- حذف المستندات لم يعد يعيد كتابة الفهرس: تُستبعد المستندات من البحث فورًا وتُحذف فعليًا أثناء التحسين.
- تحسين الفهرس أسرع بـ 4 مرات ويستهلك 4 مرات أقل من الذاكرة؛ تُحسّن الفهارس الكبيرة إلى عدة قطع ذات حجم محدود.
- الفهرسة تستهلك نصف الذاكرة العشوائية القصوى تقريبًا.
معالجة النص
- تُعامل حالة الحروف بشكل موحد على .NET Framework و .NET، لذا لا تعتمد نتائج البحث على المنصة.
- تُستبدل الأحرف البديلة غير المتطابقة بـ U+FFFD بدلاً من إزالتها، ولا تُفهرس المصطلحات التي تتكون فقط من أحرف مدمجة.
تغييرات API العامة
تمت إضافة خاصيتين إلى الفئة GroupDocs.Search.IndexSettings:
Boolean ReplaceUnpairedSurrogates– تستبدل الأحرف البديلة UTF-16 غير المتطابقة بحرف الاستبدال Unicode (U+FFFD). مفعلة بشكل افتراضي.Boolean SkipBlendedOnlyTerms– تستبعد من الفهرسة المصطلحات التي تتكون فقط من أحرف مدمجة. مفعلة بشكل افتراضي.
يتم تثبيت كلا الإعدادين عند إنشاء الفهرس.
مثال على الكود
المثال التالي يحدّث فهرسًا تم إنشاؤه بإصدار سابق إلى التنسيق الجديد دون إعادة فهرسة المستندات.
string sourceIndexFolder = @"c:\MyOldIndex\"; // Specify path to the index of a previous version
string targetIndexFolder = @"c:\MyNewIndex\"; // Specify path to the folder for the updated index
IndexUpdater updater = new IndexUpdater(); // Creating an index updater
if (updater.CanUpdateVersion(sourceIndexFolder)) // Checking whether the index version can be updated
{
VersionUpdateResult result = updater.UpdateVersion(sourceIndexFolder, targetIndexFolder); // Updating the index version; the source index is not changed
}
ملاحظات الترقية
ضع التغييرات التالية في الاعتبار عند الترقية من إصدار سابق:
- تم تغيير تنسيق الفهرس. يجب تحويل فهارس الإصدارات السابقة باستخدام فئة
IndexUpdaterقبل إمكانية فتحها. لا تحتاج المستندات المصدرية، يُحفظ الفهرس المحوَّل في مجلد مختلف، ولا يُعدَّل الفهرس الأصلي. - قواميس المصطلحات تُثبت بمجرد أن يحتوي الفهرس على مستندات. يجب تكوين الأبجدية، قاموس التجزئة، استبدالات الأحرف، كلمات التوقف، وإعدادات
UseStopWordsوUseCharacterReplacementsقبل فهرسة أول مستند. أي تغيير لاحق يثير استثناءInvalidOperationException. - الفهارس غير المتوافقة لا تُدمج. يثير
Index.MergeاستثناءInvalidOperationExceptionإذا قسمت الفهارس المدمجة النص إلى مصطلحات بطريقة مختلفة. - البحث متعدد الخيوط بشكل افتراضي. مع
IndexSettings.SearchThreadsالافتراضي، يستخدم البحث عدد الخيوط مساويًا لعدد نوى المعالج. لتحديد عدد الخيوط، عيّن الخاصية صراحةً. - تم تمكين إعدادين جديدين للفهرس بشكل افتراضي. للحفاظ على السلوك السابق، عيّن
ReplaceUnpairedSurrogatesوSkipBlendedOnlyTermsإلىfalseقبل إنشاء الفهرس. - المستندات المحذوفة تُحذف فعليًا أثناء التحسين. استدعِ
Index.Optimizeلاستعادة المساحة. - عدد القطع قد تغير. البحث على شكل قطع لم يعد يُعيد قطعة لكل قطعة. كرّر عبر القطع بينما
SearchResult.NextChunkSearchTokenليس فارغًا بدلاً من الاعتماد على عدد القطع.
كيفية الحصول على التحديث
NuGet
- NuGet – تثبيت أحدث حزمة:
# Package Manager
NuGet\Install-Package GroupDocs.Search -Version 26.10.0
# .NET CLI
dotnet add package GroupDocs.Search --version 26.10.0
# Package Manager
NuGet\Install-Package GroupDocs.Search.NETFramework -Version 26.10.0
# .NET CLI
dotnet add package GroupDocs.Search.NETFramework --version 26.10.0
التحميل المباشر
- Direct Download – تحميل التجميعات المترجمة لـ .NET من صفحة الإصدار الرسمية:
https://releases.groupdocs.com/search/net/new-releases/groupdocs.search-for-.net-26.10-dlls-only/
https://releases.groupdocs.com/search/net/new-releases/groupdocs.search-for-.net-26.10/
الموارد
- ملاحظات الإصدار الكاملة – https://releases.groupdocs.com/search/net/release-notes/2026/groupdocs-search-for-net-26-10-release-notes/
- الوثائق – https://docs.groupdocs.com/search/net/
- أمثلة الكود – https://github.com/groupdocs-search/GroupDocs.Search-for-.NET/
- Free Support Forum – https://forum.groupdocs.com/c/search/
- استخدامه من قبل وكلاء الذكاء الاصطناعي – خادم GroupDocs.Search MCP يشغّل هذه المحرك محليًا لـ Claude و Cursor و Copilot: https://docs.groupdocs.com/search/mcp/ · Do you need a vector database to ask questions about a folder of documents?