GroupDocs.Search for .NET 26.10 هماکنون در دسترس است. این یک انتشار اصلی است: فرمت ایندکس بازطراحی شده است، بنابراین ایندکسها فضای کمتری روی دیسک میگیرند، نیمهحافظه RAM نیاز دارند و ۲ تا ۴ برابر سریعتر باز میشوند. جستجو، حذف، بهینهسازی و جستجوی تصویر چندین تا صدها برابر شتاب میگیرند، جستجوها دیگر برای ایندکسگذاری صبر نمیکنند و دادههای ایندکس با چکسامها و بهروزرسانیهای اتمیک محافظت میشوند.
ایندکسهای موجود که توسط نسخههای 22.7–26.8 ایجاد شدهاند، بدون ایندکسگذاری مجدد به فرمت جدید تبدیل میشوند. این انتشار شامل ۲۲ تغییر است: ۴ ویژگی جدید، ۱۵ بهبود و ۳ رفع اشکال.
نکات برجسته عملکرد
اکثر بهبودها با اندازه ایندکس و تعداد بخشهای آن رشد میکند.
| چه چیزی | بهبود در 26.10 |
|---|---|
| حافظه RAM مورد نیاز یک ایندکس بارگذاریشده | ۲ برابر کمتر |
| باز کردن یک ایندکس | ۲ تا ۴ برابر سریعتر |
| اندازه ایندکس روی دیسک | به نسبت دادههای ایندکسشده رشد میکند؛ هرچه ایندکس بزرگتر باشد، صرفهجویی بیشتر است |
| جستجوی یک کلمه در ایندکسهای بزرگ | تا ۲ برابر سریعتر؛ کلمات نادر ۱۰ تا ۴۰ برابر سریعتر |
| جستجوی فازی در ایندکسهای بزرگ | ۲٫۵ تا ۵ برابر سریعتر |
| جستجوی wildcard در ایندکسهای بزرگ | ۲٫۵ تا ۳ برابر سریعتر |
| جستجوی wildcard، عبارات منظم، بازه عددی و جستجوی فازی به صورت تکهای | ۷ تا ۱۵۰ برابر سریعتر |
| جستجوی بازه تاریخی | ۲ تا ۲۷ برابر سریعتر |
| حذف اسناد | صدها برابر سریعتر، ۴ برابر کمتر حافظه، بدون فضای دیسک اضافی |
| بهینهسازی ایندکس | ۴ برابر سریعتر، ۴ برابر کمتر حافظه |
| حداکثر RAM در طول ایندکسگذاری | ۲ برابر کمتر |
| بازیابی متن ذخیرهشده یک سند | تا ۱۵ برابر سریعتر |
| دادههای جستجوی تصویر | ۲٫۹ برابر کمتر حافظه، بارگذاری ۶٫۶ برابر سریعتر، ذخیرهسازی ۱۰۰ برابر سریعتر؛ جستجوی تصویر معکوس تا ۱٫۸ برابر سریعتر |
| جستجو در حالی که ایندکس در حال تغییر است | دیگر مسدود نمیشود |
| قابلیت اطمینان ایندکس | چکسامها و تغییرات اتمیک؛ عملیاتهای قطعشده تکمیل یا بازگردانده میشوند |
| رشتههای جستجو | بهصورت پیشفرض تمام هستههای پردازنده؛ میتوان در هر زمان تغییر داد |
چه چیزهای جدیدی در این انتشار وجود دارد
| کلید | خلاصه | دستهبندی |
|---|---|---|
| SEARCHNET-3665 | امکان تغییر تعداد رشتههای جستجو در هر زمان را پیادهسازی کنید | ویژگی |
| SEARCHNET-3666 | گزینهای برای جایگزینی کاراکترهای سورگیت بدون جفت پیادهسازی کنید | ویژگی |
| SEARCHNET-3667 | گزینهای برای نادیدهگیری واژههایی که فقط از کاراکترهای ترکیبی تشکیل شدهاند پیادهسازی کنید | ویژگی |
| SEARCHNET-3668 | بهروزرسانی نسخه ایندکس به فرمت جدید بدون ایندکسگذاری مجدد اسناد را پیادهسازی کنید | ویژگی |
| SEARCHNET-3669 | بهینهسازی مصرف فضای دیسک یک ایندکس را پیادهسازی کنید | بهبود |
| SEARCHNET-3670 | بهینهسازی مصرف RAM یک ایندکس بارگذاریشده را پیادهسازی کنید | بهبود |
| SEARCHNET-3671 | بهینهسازی سرعت بارگذاری ایندکس را پیادهسازی کنید | بهبود |
| SEARCHNET-3672 | بهینهسازی سرعت جستجو در ایندکسهای بزرگ را پیادهسازی کنید | بهبود |
| SEARCHNET-3673 | بهینهسازی جستجوی فازی را پیادهسازی کنید | بهبود |
| SEARCHNET-3674 | بهینهسازی جستجوی wildcard را پیادهسازی کنید | بهبود |
| SEARCHNET-3675 | بهینهسازی حذف و بهروزرسانی اسناد را پیادهسازی کنید | بهبود |
| SEARCHNET-3676 | بهینهسازی عملیات بهینهسازی ایندکس را پیادهسازی کنید | بهبود |
| SEARCHNET-3677 | اجازه جستجو در حالی که ایندکس در حال تغییر است را بدهید | بهبود |
| SEARCHNET-3678 | قابلیت اطمینان ایندکس را بهبود دهید | بهبود |
| SEARCHNET-3679 | بهینهسازی مصرف حافظه در طول ایندکسگذاری را پیادهسازی کنید | بهبود |
| SEARCHNET-3680 | بهینهسازی بازیابی متن سند را پیادهسازی کنید | بهبود |
| SEARCHNET-3681 | بهینهسازی جستجوی تصویر را پیادهسازی کنید | بهبود |
| SEARCHNET-3682 | پردازش حروف بزرگ/کوچک بهصورت یکسان در تمام پلتفرمها را پیادهسازی کنید | بهبود |
| SEARCHNET-3688 | بهینهسازی جستجو به صورت تکهای را پیادهسازی کنید | بهبود |
| SEARCHNET-3683 | عدد پیشفرض رشتههای جستجو را رفع اشکال کنید | رفع اشکال |
| SEARCHNET-3684 | از ایندکسگذاری ناسازگار پس از تغییر واژهنامهها جلوگیری کنید | رفع اشکال |
| SEARCHNET-3685 | از ادغام ایندکسهایی که متن را بهصورت متفاوت پردازش میکنند جلوگیری کنید | رفع اشکال |
ویژگیهای اصلی
ذخیرهسازی ایندکس و قابلیت اطمینان
- حجم ایندکس اکنون به نسبت دادههای ایندکسشده رشد میکند، بنابراین ایندکسهای بزرگ با تعداد زیادی بخش بیشترین فضا را صرفهجویی میکنند.
- یک ایندکس بارگذاریشده نصف حافظه RAM نیاز دارد و باز کردن ایندکس ۲ تا ۴ برابر سریعتر است.
- دادههای ایندکس با چکسامها محافظت میشوند و تمام تغییرات بهصورت اتمیک اعمال میشوند. اگر عملیاتی بهدلیل خطا، قطع برق یا خاتمه فرآیند متوقف شود، ایندکس در وضعیت سازگار قبلی خود باقی میماند.
جستجو
- فقط بخشهایی که شامل واژههای پرسوجو هستند خوانده میشوند که سرعت جستجوی کلمه، فازی، wildcard و تکهای را افزایش میدهد.
- جستجو بهصورت پیشفرض از تمام هستههای پردازنده استفاده میکند و تعداد رشتهها میتواند در هر زمان از طریق
IndexSettings.SearchThreadsتغییر یابد. - جستجوها و عملیاتهای تغییر ایندکس (ایندکسگذاری، بهروزرسانی، حذف، ادغام، بهینهسازی) دیگر یکدیگر را مسدود نمیکنند. هر جستجو با یک snapshot سازگار از ایندکس کار میکند.
ایندکسگذاری و نگهداری
- حذف اسناد دیگر ایندکس را بازنویسی نمیکند: اسناد بلافاصله از جستجو حذف میشوند و در طول بهینهسازی بهصورت فیزیکی حذف میگردند.
- بهینهسازی ایندکس ۴ برابر سریعتر است و ۴ برابر کمتر حافظه مصرف میکند؛ ایندکسهای بسیار بزرگ به چندین بخش با اندازه محدود بهینه میشوند.
- ایندکسگذاری حدود نصف حافظه RAM حداکثری مصرف میکند.
پردازش متن
- حروف بزرگ/کوچک بهصورت یکسان در .NET Framework و .NET پردازش میشوند، بنابراین نتایج جستجو به پلتفرم وابسته نیستند.
- کاراکترهای سورگیت بدون جفت با U+FFFD جایگزین میشوند بهجای حذف، و واژههایی که فقط از کاراکترهای ترکیبی تشکیل شدهاند دیگر ایندکس نمیشوند.
تغییرات API عمومی
دو ویژگی به کلاس GroupDocs.Search.IndexSettings اضافه شدهاند:
Boolean ReplaceUnpairedSurrogates– کاراکترهای سورگیت UTF-16 بدون جفت را با کاراکتر جایگزین یونیکد (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مقدار null نیست، بر تکهها تکرار کنید.
نحوه دریافت بهروزرسانی
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
- 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/
منابع
- Full Release Notes – https://releases.groupdocs.com/search/net/release-notes/2026/groupdocs-search-for-net-26-10-release-notes/
- Documentation – https://docs.groupdocs.com/search/net/
- Code Examples – https://github.com/groupdocs-search/GroupDocs.Search-for-.NET/
- Free Support Forum – https://forum.groupdocs.com/c/search/
- Use it from AI agents – the GroupDocs.Search MCP server runs this engine locally for Claude, Cursor and Copilot: https://docs.groupdocs.com/search/mcp/ · آیا برای پرسیدن سوال درباره یک پوشه اسناد به پایگاه داده برداری نیاز دارید؟