Büyük veri kümelerinde aramaları verimli bir şekilde yönetmek, özellikle on binlerce veya yüz binlerce belge içeren dizinlerle uğraşırken zor olabilir. Bu zorluğun çözümü, verileri segment segment işleyen, belleği ve işleme kaynaklarını optimize eden C# kullanarak parçalar halinde arama yapmaktır. Bu yaklaşım, özellikle kapsamlı belge koleksiyonları arasında yüksek performanslı arama yetenekleri gerektiren uygulamalar için faydalıdır. Geliştiriciler, büyük dizinlerde C# parçalı arama kullanarak ölçeklenebilirliği korurken esnek ve verimli arama işlemleri yürütebilirler.
C# kullanarak Parçalara Göre Arama Yapma Adımları
- Parçalara göre arama yapmayı etkinleştirmek için GroupDocs.Search for .NET‘i projenize entegre ederek geliştirme ortamınızı kurun
- Dizinin depolanacağı klasör yolunu belirterek bir Index nesnesi başlatın
- Belirtilen klasördeki belgeleri aranabilir hale getirmek için Index.Add yöntemini kullanarak belgeleri dizinleyin
- SearchOptions sınıfının bir örneğini oluşturun ve parçalı aramayı etkinleştirmek için IsChunkSearch özelliğini true olarak ayarlayın
- Index.Search yöntemini sorgu dizesi ve yapılandırılmış arama seçenekleriyle çağırın
C#‘da parçalara göre belge araması kavramı, arama sürecini yönetilebilir parçalara ayırmayı ve dizinin her bir bölümünün ayrı ayrı işlenmesini içerir. Bu, IsChunkSearch özelliğinin parçalara ayrılmış aramayı etkinleştirdiği Index sınıfı ve SearchOptions sınıfının bir kombinasyonu kullanılarak elde edilir. Aşağıdaki kod, bir dizinin nasıl oluşturulacağını, belgelerin nasıl ekleneceğini ve parçalara ayrılmış bir arama sorgusunun nasıl yürütüleceğini gösterir. Sonuçlar, büyük veri kümelerinin verimli bir şekilde işlenmesini sağlayarak SearchNext yöntemi kullanılarak parça parça alınır.
C# kullanarak Parçalara Göre Arama Gerçekleştiren Kod
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); | |
} | |
} | |
} | |
} |
Parçalı arama, süreci daha küçük, yönetilebilir parçalara bölerek büyük ölçekli veri aramalarını verimli bir şekilde ele almak için sağlam bir çözüm sunar. Bu yaklaşım, özellikle *C#‘de büyük belge dizinlerini aramanız gerektiğinde değerlidir ve ölçeklenebilirlik ve performans avantajları sunar. Ayrıca, temeldeki kitaplığın platformlar arası uyumluluğu, Windows, macOS ve Linux’ta sorunsuz dağıtım sağlar. Geliştiriciler bu tekniği dahil ederek, modern, veri yoğun uygulamaların taleplerini karşılayan güçlü ve esnek arama çözümleri oluşturabilirler.
Daha önce, C# kullanarak joker karakter araması gerçekleştirmeye ilişkin kapsamlı bir kılavuz paylaştık. Ayrıntılı adım adım bir süreç için C# kullanarak joker karakter araması gerçekleştirin nasıl yapılır makalemize göz atmayı unutmayın.