إبراز نتائج البحث باستخدام C#

إن إدارة نتائج البحث بكفاءة وجعلها قابلة للتحديد بسهولة يعد جانبًا بالغ الأهمية لتطوير تطبيقات بحث قوية عن المستندات. باستخدام إبراز نتائج البحث باستخدام C#، يمكنك تحسين تجربة المستخدم من خلال التمييز بصريًا بين المعلومات ذات الصلة في نتائج البحث. سيرشدك هذا الدليل خلال عملية كيفية إبراز نتائج البحث باستخدام C#، ويوضح لك كيفية تطبيق المؤشرات المرئية على المصطلحات المطابقة، مما يسهل على المستخدمين العثور على المعلومات التي يحتاجون إليها بسرعة وفعالية.

خطوات لتسليط الضوء على نتائج البحث باستخدام C#

  1. قم بإعداد بيئة التطوير الخاصة بك من خلال دمج مكتبة GroupDocs.Search for .NET لتمكين تمييز نتائج البحث
  2. إنشاء كائن IndexSettings لتكوين كيفية فهرسة المستندات
  3. اضبط TextStorageSettings على Compression.High لتخزين النص المستخرج بكفاءة
  4. استخدم فئة Index لإنشاء فهرس. مرر المسار إلى مجلد الفهرس وكائن IndexSettings إلى المنشئ
  5. استخدم طريقة Index.Add لإضافة المستندات من المجلد المحدد إلى الفهرس
  6. استخدم طريقة Index.Search للبحث عن كلمة رئيسية أو عبارة معينة، مثل Universe. يؤدي هذا إلى إرجاع كائن SearchResult يحتوي على جميع المستندات التي تطابق استعلام البحث

تبدأ العملية بإعداد فهرس يخزن النص المستخرج من المستندات. هذا الفهرس ضروري للبحث السريع والدقيق. باستخدام IndexSettings، نقوم بتمكين تخزين النص بضغط عالٍ للحفاظ على الكفاءة. يتم إنشاء كائن الفهرس وتعبئته بالمستندات من مجلد محدد. بمجرد فهرسة المستندات، يمكنك إجراء عملية بحث عن كلمات رئيسية معينة. على سبيل المثال، لتسليط الضوء على تكرارات كلمة Universe في مستند، نبحث عنها أولاً داخل الفهرس. يحتفظ كائن SearchResult بجميع المستندات التي تحتوي على الكلمة الرئيسية. إذا كانت هناك أي تطابقات، يتم الحصول على FoundDocument، ويتم استخدام أداة تمييز لتطبيق التمييز. يمكنك تخصيص تنسيق التمييز عن طريق تعيين TermHighlightStartTag وTermHighlightEndTag لعرض المصطلحات المطابقة بوضوح في النص. لا يسمح لك هذا النهج بإجراء بحث عن مستند C# وتمييزه فحسب، بل يعزز أيضًا تجربة المستخدم من خلال وضع علامة واضحة على تطابقات النص ذات الصلة.

الكود لتسليط الضوء على نتائج البحث باستخدام C#

using GroupDocs.Search;
using GroupDocs.Search.Common;
using GroupDocs.Search.Highlighters;
using GroupDocs.Search.Options;
using GroupDocs.Search.Results;
using System;
namespace HighlightSearchResultsUsingCSharp
{
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 settings instance
IndexSettings settings = new IndexSettings();
// Enabling storage of extracted text in the index
settings.TextStorageSettings = new TextStorageSettings(Compression.High);
// Creating an index in the specified folder
Index index = new Index(indexFolder, settings);
// Indexing documents from the specified folder
index.Add(documentsFolder);
// Search for the word 'Universe'
SearchResult result = index.Search("Universe");
// Highlighting occurrences in the text
if (result.DocumentCount > 0)
{
// Getting the first found document
FoundDocument document = result.GetFoundDocument(0);
// Creating the output adapter
StructureOutputAdapter outputAdapter = new StructureOutputAdapter(
OutputFormat.PlainText);
// Creating the highlighter instance
Highlighter highlighter = new DocumentHighlighter(outputAdapter);
// Creating the highlight options
HighlightOptions options = new HighlightOptions();
// Setting the start tag for the found word
options.TermHighlightStartTag = "<Term>";
// Setting the end tag for the found word
options.TermHighlightEndTag = "</Term>";
// Generating plain text with highlighted occurrences
index.Highlight(document, highlighter, options);
DocumentField[] fields = outputAdapter.GetResult();
Console.WriteLine(document.ToString());
for (int i = 0; i < fields.Length; i++)
{
// Printing field names of the found document
DocumentField field = fields[i];
Console.WriteLine("\t" + field.Name);
}
}
}
}
}

إن إبراز تطابقات البحث في C# ميزة أساسية لتطبيقات البحث عن المستندات، مما يجعل من الأسهل على المستخدمين العثور على المعلومات ذات الصلة بسرعة. باستخدام مكتبات مثل GroupDocs.Search، يمكنك تنفيذ نظام قوي وفعال يدعم إبراز تطابقات البحث في C#. لا يعمل هذا النهج على تحسين وظيفة البحث فحسب، بل يجعل النتائج مميزة بصريًا أيضًا، مما يحسن تفاعل المستخدم. إن تنفيذ البحث والتمييز باستخدام C# أمر بسيط ويمكن تخصيصه لتلبية احتياجات تطبيق معينة، سواء كنت تقوم بتطوير نظام إدارة مستندات أو أداة بحث في الوقت الفعلي.

في السابق، أصدرنا دليلاً مفصلاً حول الحصول على مستندات مفهرسة باستخدام C#. للحصول على برنامج تعليمي كامل خطوة بخطوة، تأكد من مراجعة مقالتنا التفصيلية حول كيفية الحصول على المستندات المفهرسة باستخدام C#.

 عربي