C# kullanarak Arama Sonuçlarıyla Çalışın

Arama sonuçlarını etkin bir şekilde yönetmek, sağlam bir belge alma sisteminin temel taşıdır ve bu sonuçların nasıl yorumlanacağını ve kullanılacağını anlamak, veri odaklı karar almayı önemli ölçüde iyileştirebilir. Bu kılavuzda, C# kullanarak arama sonuçlarıyla nasıl çalışılacağını inceliyoruz. Bir dizin deposu kurmaktan bulanık arama seçeneklerini yapılandırmaya kadar, bu eğitim arama sorgularını ve sonuçlarını ele almak için net ve pratik bir yaklaşım sunar. Tek terimler veya karmaşık ifadeler için eşleşmeleri analiz etmeniz gerekip gerekmediğine bakılmaksızın, bu yöntem sonuçları kapsamlı bir şekilde işlemeniz ve anlamlı kalıpları ortaya çıkarmanız için sizi donatır. Sonunda, C#‘da arama sonuçlarını nasıl alacağınızı ve bunları çeşitli uygulamalar için nasıl kullanacağınızı kendinize güvenerek öğreneceksiniz.

C# kullanarak Arama Sonuçlarıyla Çalışma Adımları

  1. Arama sonuçlarıyla çalışmak için projenize GroupDocs.Search for .NET kitaplığını ekleyin
  2. Index sınıfını kullanarak bir dizin nesnesi oluşturun ve dizinin depolanacağı klasör yolunu belirtin
  3. Belirtilen klasörden dizine belge eklemek için Index.Add yöntemini kullanın
  4. SearchOptions örneğini oluşturun ve FuzzySearch.Enabled öğesini true olarak ayarlayarak bulanık aramayı etkinleştirin
  5. FuzzyAlgorithm kullanarak izin verilen maksimum fark sayısını (örneğin 3) tanımlayın
  6. Belirtilen terimleri veya ifadeleri içeren belgeleri yapılandırılmış Arama Seçenekleriyle birlikte aramak için Index.Search yöntemini kullanın
  7. Bulunan belge sayısını (DocumentCount) ve arama terimlerinin toplam sayısını (OccurrenceCount) çıktı olarak verir
  8. GetFoundDocument yöntemini kullanarak arama sonuçlarındaki belgeler arasında döngü oluşturun. Her belge için dosya yolunu ve oluşum sayısını görüntüleyin
  9. Her belge için, alan adı, oluşum sayısı, bulunan terimler ve bulunan ifadeler gibi ayrıntıları görüntülemek üzere Bulunan Alanlar arasında yineleme yapın

Arama sonuçlarıyla etkili bir şekilde çalışmak için, öncelikle belgeleriniz için bir dizin deposu ayarlamanız gerekir. Sağlanan kod parçacığı kullanılarak, belirtilen bir klasörde bir dizin oluşturulur ve başka bir klasördeki belgeler buna eklenir. Daha sonra arama seçenekleri, maksimum fark eşiğiyle esnek eşleştirmeye izin veren bulanık aramayı etkinleştirmek üzere yapılandırılır. Bu kurulum, gelişmiş algoritmalar kullanarak Einstein veya Görelilik Teorisi gibi ifadeleri aramayı kolaylaştırır. Arama yürütüldükten sonra, sonuçlara SearchResult nesnesi aracılığıyla erişilir. Sorguyla eşleşen toplam belge sayısı ve bunların oluşum sayıları görüntülenir. Her belge hakkında dosya yolu ve terimlerin ve ifadelerin oluşumları dahil olmak üzere ayrıntılı bilgiler alınır. Her belgedeki bulunan alanlarda yineleme yaparak, eşleşmeleri içeren belirli alanları belirleyebilir ve terimleri ve ifadeleri ilgili sıklıklarıyla analiz edebilirsiniz. Bu adım, alınan verilerin yapılandırılmış bir görünümünü sağlayarak C# ile dizin arama sonuçlarına nasıl erişileceğini gösterir.

C# kullanarak arama sonuçlarıyla çalışmak için kod

using GroupDocs.Search;
using GroupDocs.Search.Options;
using GroupDocs.Search.Results;
using System;
namespace WorkwithSearchResultsUsingCSharp
{
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\";
// Creating an index
Index index = new Index(indexFolder);
// Indexing documents from the specified folder
index.Add(documentsFolder);
// Creating search options
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Enabling the fuzzy search
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Setting the maximum number of differences to 3
// Search for documents containing the word 'Einstein' or the phrase 'Theory of Relativity'
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options);
// Printing the result
Console.WriteLine("Documents: " + result.DocumentCount);
Console.WriteLine("Total occurrences: " + result.OccurrenceCount);
for (int i = 0; i < result.DocumentCount; i++)
{
FoundDocument document = result.GetFoundDocument(i);
Console.WriteLine("\tDocument: " + document.DocumentInfo.FilePath);
Console.WriteLine("\tOccurrences: " + document.OccurrenceCount);
for (int j = 0; j < document.FoundFields.Length; j++)
{
FoundDocumentField field = document.FoundFields[j];
Console.WriteLine("\t\tField: " + field.FieldName);
Console.WriteLine("\t\tOccurrences: " + document.OccurrenceCount);
// Printing found terms
if (field.Terms != null)
{
for (int k = 0; k < field.Terms.Length; k++)
{
Console.WriteLine("\t\t\t" + field.Terms[k].PadRight(20) + field.TermsOccurrences[k]);
}
}
// Printing found phrases
if (field.TermSequences != null)
{
for (int k = 0; k < field.TermSequences.Length; k++)
{
string sequence = string.Join(" ", field.TermSequences[k]);
Console.WriteLine("\t\t\t" + sequence.PadRight(30) + field.TermSequencesOccurrences[k]);
}
}
}
}
}
}
}

Arama sonuçlarını etkili bir şekilde yönetmek ve yorumlamak, dizinlenmiş verilerin değerini en üst düzeye çıkarmak için kritik öneme sahiptir. Bu süreç yalnızca belgeleri almakla kalmaz, aynı zamanda terim oluşumlarına, alana özgü eşleşmelere ve ifade dizilerine derinlemesine dalmayı da içerir. Gösterilen yöntem, gelişmiş veri içgörülerine olanak tanıyan sonuçları yapılandırılmış ve ayrıntılı bir şekilde analiz etmenizi sağlar. Dahası, kütüphanenin platform bağımsızlığı çeşitli sistemler ve ortamlar arasında sorunsuz entegrasyonu garanti ederek onu aramayla ilgili görevler için çok yönlü bir seçenek haline getirir. Bu yaklaşımda ustalaşarak, C# dilinde arama sonuçlarını verimli bir şekilde işleyebilir ve bunları veri analizinden gerçek zamanlı belge almaya kadar çok çeşitli senaryolara uygulayabilirsiniz.

Daha önce, C# kullanarak arama raporları oluşturma konusunda kapsamlı bir rehber paylaşmıştık. Adım adım eksiksiz bir yol tarifi için C# kullanarak arama raporu oluşturun nasıl yapılır hakkındaki detaylı makalemize göz atmayı unutmayın.

 Türkçe