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

التحميل المباشر

الموارد