Работа с резултати от търсене с помощта на C#

Ефективното управление на резултатите от търсенето е крайъгълен камък на всяка стабилна система за извличане на документи и разбирането как да се тълкуват и използват тези резултати може значително да подобри вземането на решения, базирани на данни. В това ръководство изследваме как да работим с резултати от търсене с помощта на C#. От настройка на хранилище на индекси до конфигуриране на опции за размито търсене, този урок предоставя ясен и практичен подход за обработка на заявки за търсене и техните резултати. Независимо дали трябва да анализирате съвпадения за единични термини или сложни фрази, този метод ви дава възможност да обработите резултатите цялостно и да разкриете смислени модели. В крайна сметка ще сте уверени как да извличате резултати от търсене в C# и да ги използвате за различни приложения.

Стъпки за работа с резултати от търсене с помощта на C#

  1. Включете библиотеката GroupDocs.Search for .NET в проекта си, за да работите с резултатите от търсенето
  2. Създайте индексен обект с помощта на класа Index и посочете път към папка, където ще се съхранява индексът
  3. Използвайте метода Index.Add, за да добавите документи от посочената папка към индекса
  4. Създайте екземпляр на SearchOptions и активирайте размито търсене, като зададете FuzzySearch.Enabled на true
  5. Определете максималния брой допустими разлики (напр. 3), като използвате FuzzyAlgorithm
  6. Използвайте метода Index.Search за търсене на документи, съдържащи определени термини или фрази заедно с конфигурираните SearchOptions
  7. Изведете броя на намерените документи (DocumentCount) и общия брой срещания на думите за търсене (OccurrenceCount)
  8. Прегледайте документите в резултатите от търсенето, като използвате метода GetFoundDocument. За всеки документ покажете неговия файлов път и броя на срещанията
  9. За всеки документ итерирайте през FoundFields, за да покажете подробности като името на полето, броя на срещанията, намерени термини и намерени фрази

За да работите ефективно с резултатите от търсенето, първо трябва да настроите хранилище на индекси за вашите документи. С помощта на предоставения кодов фрагмент се създава индекс в определена папка и към нея се добавят документи от друга папка. След това опциите за търсене се конфигурират, за да активират размито търсене, което позволява гъвкаво съпоставяне с максимален праг на разликата. Тази настройка улеснява търсенето на термини като Айнщайн или фрази като Теория на относителността с помощта на усъвършенствани алгоритми. След като търсенето бъде изпълнено, резултатите са достъпни чрез обекта SearchResult. Показват се общият брой на документите, съответстващи на заявката, и броят им на срещания. Извлича се подробна информация за всеки документ, включително пътя на файла и срещанията на термини и фрази. Чрез итерация през намерените полета във всеки документ можете да идентифицирате конкретни полета, съдържащи съвпаденията, и да анализирате термини и фрази със съответните им честоти. Тази стъпка демонстрира как да достъпите до резултатите от индексирано търсене с C#, предоставяйки структуриран изглед на извлечените данни.

Код за работа с резултати от търсене с помощта на C#

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]);
}
}
}
}
}
}
}

Ефективното управление и интерпретиране на резултатите от търсенето е от решаващо значение за максимизиране на стойността на индексираните данни. Този процес включва не само извличане на документи, но и дълбоко гмуркане в срещания термин, съвпадения в специфични полета и последователности от фрази. Демонстрираният метод ви дава възможност да анализирате резултатите по структуриран и подробен начин, позволявайки разширена информация за данните. Нещо повече, независимостта на платформата на библиотеката осигурява безпроблемна интеграция в различни системи и среди, което я прави универсален избор за задачи, свързани с търсене. Като овладеете този подход, можете ефективно да обработвате резултатите от търсенето в C# и да ги прилагате към широк набор от сценарии, от анализ на данни до извличане на документи в реално време.

По-рано споделихме изчерпателно ръководство за създаване на отчети за търсене с помощта на C#. За пълно ръководство стъпка по стъпка, не забравяйте да разгледате нашата подробна статия за това как да създаване на отчет за търсене с помощта на C#.

 Български