مدیریت کارآمد نتایج جستجو و شناسایی آسان آنها یک جنبه حیاتی در توسعه برنامه های کاربردی جستجوی اسناد قوی است. با ** برجسته کردن نتایج جستجو با استفاده از C#، می توانید تجربه کاربر را با تشخیص بصری اطلاعات مرتبط در نتایج جستجو افزایش دهید. این راهنما شما را در روند ** برجسته کردن نتایج جستجو در سی شارپ راهنمایی می کند و به شما نشان می دهد که چگونه شاخص های بصری را برای عبارات همسان اعمال کنید، و کاربران می توانند اطلاعات مورد نیاز خود را به سرعت و به طور موثر پیدا کنند.
مراحل برجسته کردن نتایج جستجو با استفاده از C#
- با ادغام کتابخانه GroupDocs.Search for .NET برای فعال کردن برجسته کردن نتایج جستجو، محیط توسعه خود را تنظیم کنید.
- یک شی IndexSettings را برای پیکربندی نحوه نمایه سازی اسناد، نمونه سازی کنید
- TextStorageSettings را روی Compression.High تنظیم کنید تا متن استخراج شده را به طور موثر ذخیره کنید
- از کلاس Index برای ایجاد نمایه استفاده کنید. مسیر پوشه index و شی IndexSettings را به سازنده ارسال کنید
- از روش Index.Add برای افزودن اسناد از پوشه مشخص شده به فهرست استفاده کنید
- از روش Index.Search برای جستجوی یک کلمه کلیدی یا عبارت خاص، مانند Universe استفاده کنید. این یک شی SearchResult حاوی تمام اسنادی است که با عبارت جستجو مطابقت دارند
این فرآیند با تنظیم یک نمایه شروع می شود که متن استخراج شده از اسناد را ذخیره می کند. این شاخص برای جستجوی سریع و دقیق ضروری است. با استفاده از IndexSettings، ذخیره متن را با فشرده سازی بالا فعال می کنیم تا کارایی را حفظ کنیم. شی Index ایجاد شده و با اسناد از یک پوشه مشخص پر می شود. هنگامی که اسناد ایندکس می شوند، می توانید عملیات جستجو برای کلمات کلیدی خاص را انجام دهید. به عنوان مثال، برای برجسته کردن رخدادهای کلمه 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); | |
} | |
} | |
} | |
} | |
} |
برجسته کردن منطبقات جستجو در سی شارپ یک ویژگی ضروری برای برنامه های جستجوی اسناد است و به کاربران کمک می کند تا اطلاعات مرتبط را به سرعت پیدا کنند. با استفاده از کتابخانه هایی مانند GroupDocs.Search، می توانید یک سیستم قدرتمند و کارآمد را پیاده سازی کنید که از تطابق جستجوی برجسته در C# پشتیبانی می کند. این رویکرد نه تنها عملکرد جستجو را افزایش می دهد، بلکه نتایج را از نظر بصری متمایز می کند و تعامل کاربر را بهبود می بخشد. پیادهسازی جستجو و برجستهسازی با سی شارپ ساده است و میتواند برای رفع نیازهای برنامههای کاربردی خاص، چه در حال توسعه یک سیستم مدیریت اسناد یا یک ابزار جستجوی بلادرنگ هستید، تنظیم شود.
پیش از این، ما یک راهنمای عمیق در مورد دریافت اسناد نمایه شده با استفاده از C# منتشر کردیم. برای یک آموزش کامل و گام به گام، حتماً مقاله مفصل ما را در مورد نحوه دریافت اسناد نمایه شده با استفاده از سی شارپ بررسی کنید.