GroupDocs.Search for .NET 26.10 artık kullanılabilir. Bu bir büyük sürüm: indeks formatı yeniden tasarlandı, bu sayede indeksler daha az disk alanı kullanıyor, RAM’in yarısı kadar gerektiriyor ve 2 ila 4 kat daha hızlı açılıyor. Arama, silme, optimizasyon ve görüntü araması birkaç ila yüzlerce kat hızlandırıldı, aramalar artık indekslemeyi beklemiyor ve indeks verileri denetim toplamları ve atomik güncellemelerle korunuyor.
22.7–26.8 sürümleriyle oluşturulan mevcut indeksler, yeni formata yeniden indeksleme yapmadan dönüştürülür. Bu sürüm 22 değişiklik içerir: 4 yeni özellik, 15 iyileştirme ve 3 düzeltme.
Performans özetleri
Çoğu kazanç, indeksin boyutu ve segment sayısı arttıkça artar.
| Ne | 26.10’daki Kazanç |
|---|---|
| Yüklenmiş bir indeks için gereken RAM | 2 kat daha az |
| Bir indeksi açma | 2 ila 4 kat daha hızlı |
| Disk üzerindeki indeks boyutu | İndekslenen veriye orantılı olarak büyür; indeks ne kadar büyükse tasarruf o kadar fazla olur |
| Büyük indekslerde kelime arama | 2 kata kadar daha hızlı; nadir kelimeler 10 ila 40 kat daha hızlı |
| Büyük indekslerde bulanık arama | 2,5 ila 5 kat daha hızlı |
| Büyük indekslerde joker karakter araması | 2,5 ila 3 kat daha hızlı |
| Joker karakter, düzenli ifade, sayısal aralık ve parçalı bulanık arama | 7 ila 150 kat daha hızlı |
| Tarih aralığı araması | 2 ila 27 kat daha hızlı |
| Belgeleri silme | Yüzlerce kat daha hızlı, 4 kat daha az bellek, ek disk alanı yok |
| İndeks optimizasyonu | 4 kat daha hızlı, 4 kat daha az bellek |
| İndeksleme sırasında en yüksek RAM | 2 kat daha az |
| Bir belgenin saklanan metnini alma | 15 kata kadar daha hızlı |
| Görüntü arama verileri | 2,9 kat daha az bellek, yükleme 6,6 kat daha hızlı, kaydetme 100 kat daha hızlı; ters görüntü araması 1,8 kata kadar daha hızlı |
| İndeks değiştirildiği sırada arama | Artık engellenmiyor |
| İndeks güvenilirliği | Denetim toplamları ve atomik değişiklikler; kesintiye uğrayan işlemler tamamlanır veya geri alınır |
| Arama iş parçacıkları | Varsayılan olarak tüm işlemci çekirdekleri; istediğiniz zaman değiştirilebilir |
Bu sürümde yenilikler
| Anahtar | Özet | Kategori |
|---|---|---|
| SEARCHNET-3665 | Arama iş parçacığı sayısını istediğiniz zaman değiştirme yeteneğini uygulayın | Özellik |
| SEARCHNET-3666 | Eşleşmemiş surrogate karakterleri değiştirme seçeneğini uygulayın | Özellik |
| SEARCHNET-3667 | Yalnızca karışık karakterlerden oluşan terimleri atlama seçeneğini uygulayın | Özellik |
| SEARCHNET-3668 | Belgeleri yeniden indekslemeden indeks sürümünü yeni indeks formatına güncellemeyi uygulayın | Özellik |
| SEARCHNET-3669 | Bir indeksin disk alanı tüketimini optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3670 | Yüklenmiş bir indeksin RAM tüketimini optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3671 | İndeks yükleme hızını optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3672 | Büyük indekslerde arama hızını optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3673 | Bulanık aramayı optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3674 | Joker karakter aramasını optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3675 | Belgeleri silme ve güncelleme işlemlerini optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3676 | İndeks optimizasyon işlemini optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3677 | İndeks değiştirildiği sırada aramaya izin ver | İyileştirme |
| SEARCHNET-3678 | İndeks güvenilirliğini iyileştir | İyileştirme |
| SEARCHNET-3679 | İndeksleme sırasında bellek kullanımını optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3680 | Belge metnini almayı optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3681 | Görüntü aramayı optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3682 | Tüm platformlarda harf durumunu aynı şekilde ele almayı uygulayın | İyileştirme |
| SEARCHNET-3688 | Parçalı aramayı optimize etmeyi uygulayın | İyileştirme |
| SEARCHNET-3683 | Varsayılan arama iş parçacığı sayısını düzelt | Düzeltme |
| SEARCHNET-3684 | Terim sözlükleri değiştirildikten sonra tutarsız indekslemeyi önle | Düzeltme |
| SEARCHNET-3685 | Metni farklı işleyen indekslerin birleştirilmesini önle | Düzeltme |
Önemli özellikler
İndeks depolama ve güvenilirlik
- İndeks boyutu artık indekslenen veriye orantılı olarak büyür, bu yüzden birçok segmente sahip büyük indeksler en fazla alan tasarrufu sağlar.
- Yüklenmiş bir indeks RAM’in yarısı kadar gerektirir ve bir indeksi açmak 2 ila 4 kat daha hızlıdır.
- İndeks verileri denetim toplamlarıyla korunur ve tüm değişiklikler atomik olarak uygulanır. Bir işlem bir hata, güç kesintisi veya süreç sonlandırmasıyla kesintiye uğrarsa, indeks önceki tutarlı durumunda kalır.
Arama
- Sadece sorgu terimlerini içeren segmentler okunur, bu da kelime, bulanık, joker karakter ve parçalı aramaları hızlandırır.
- Arama varsayılan olarak tüm işlemci çekirdeklerini kullanır ve iş parçacığı sayısı
IndexSettings.SearchThreadsaracılığıyla istediğiniz zaman değiştirilebilir. - Aramalar ve indeks değiştiren işlemler (indeksleme, güncelleme, silme, birleştirme, optimizasyon) artık birbirini engellemez. Her arama, indeksin tutarlı bir anlık görüntüsüyle çalışır.
İndeksleme ve bakım
- Belgeleri silmek artık indeksi yeniden yazmaz: belgeler hemen aramadan çıkarılır ve optimizasyon sırasında fiziksel olarak kaldırılır.
- İndeks optimizasyonu 4 kat daha hızlıdır ve 4 kat daha az bellek kullanır; çok büyük indeksler sınırlı boyutta birkaç segmente optimize edilir.
- İndeksleme, en yüksek RAM tüketimini yaklaşık yarıya düşürür.
Metin işleme
- Harf durumu .NET Framework ve .NET üzerinde aynı şekilde ele alınır, bu yüzden arama sonuçları platforma bağlı değildir.
- Eşleşmemiş surrogate karakterler kaldırılmak yerine U+FFFD ile değiştirilir ve yalnızca karışık karakterlerden oluşan terimler artık indekslenmez.
Genel API değişiklikleri
GroupDocs.Search.IndexSettings sınıfına iki özellik eklendi:
Boolean ReplaceUnpairedSurrogates– eşleşmemiş UTF-16 surrogate karakterlerini Unicode değiştirme karakteri (U+FFFD) ile değiştirir. Varsayılan olarak etkindir.Boolean SkipBlendedOnlyTerms– yalnızca karışık karakterlerden oluşan terimleri indekslemeden hariç tutar. Varsayılan olarak etkindir.
Her iki ayar da bir indeks oluşturulduğunda sabitlenir.
Kod örneği
İşte aşağıdaki örnek, önceki bir sürümle oluşturulmuş bir indeksi yeni indeks formatına belgeleri yeniden indekslemeden günceller.
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
}
Yükseltme notları
Önceki bir sürümden yükseltirken aşağıdaki değişiklikleri göz önünde bulundurun:
- İndeks formatı değişti. Önceki sürümlerin indeksleri, açılmadan önce
IndexUpdatersınıfı ile dönüştürülmelidir. Kaynak belgeler gerekmez, dönüştürülmüş indeks farklı bir klasöre kaydedilir ve kaynak indeks değiştirilmez. - Terim sözlükleri, bir indeks belge içerdiğinde sabitlenir. Alfabe, tokenizasyon sözlüğü, karakter değişiklikleri, durdurma kelimeleri ve
UseStopWordsileUseCharacterReplacementsayarları ilk belge indekslenmeden önce yapılandırılmalıdır. Daha sonraki bir değişiklikInvalidOperationExceptionhatası fırlatır. - Uyumsuz indeksler birleştirilmez. Birleştirilen indeksler metni farklı şekilde terimlere ayırıyorsa
Index.MergeInvalidOperationExceptionfırlatır. - Arama varsayılan olarak çok iş parçacıklı. Varsayılan
IndexSettings.SearchThreadsile arama, işlemci çekirdek sayısı kadar iş parçacığı kullanır. İş parçacığı sayısını sınırlamak için özelliği açıkça ayarlayın. - İki yeni indeks ayarı varsayılan olarak etkindir. Önceki davranışı korumak için, bir indeks oluşturmadan önce
ReplaceUnpairedSurrogatesveSkipBlendedOnlyTermsdeğerlerinifalseolarak ayarlayın. - Silinen belgeler optimizasyon sırasında fiziksel olarak kaldırılır. Alanı geri kazanmak için
Index.Optimizeçağırın. - Parça sayısı değişti. Parçalı arama artık her segment için bir parça döndürmez. Segment sayısına güvenmek yerine
SearchResult.NextChunkSearchTokennull olmadığı sürece parçalar üzerinde yineleme yapın.
Güncellemeyi nasıl alabilirsiniz
NuGet
- NuGet – En son paketi kurun:
# 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
Doğrudan indirme
- Doğrudan İndirme – Resmi sürüm sayfasından .NET için derlenmiş derlemeleri indirin:
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/
Kaynaklar
- Tam Sürüm Notları – https://releases.groupdocs.com/search/net/release-notes/2026/groupdocs-search-for-net-26-10-release-notes/
- Dokümantasyon – https://docs.groupdocs.com/search/net/
- Kod Örnekleri – https://github.com/groupdocs-search/GroupDocs.Search-for-.NET/
- Ücretsiz Destek Forumu – https://forum.groupdocs.com/c/search/
- AI ajanlarından kullanın – GroupDocs.Search MCP sunucusu bu motoru Claude, Cursor ve Copilot için yerel olarak çalıştırır: https://docs.groupdocs.com/search/mcp/ · Bir klasör içindeki belgeler hakkında sorular sormak için vektör veritabanına mı ihtiyacınız var?