إن إدارة نتائج البحث بشكل فعّال وضمان إمكانية التعرف عليها بسهولة أمر ضروري لبناء تطبيقات بحث قوية وسهلة الاستخدام عن المستندات. من خلال الاستفادة من القدرة على إبراز نتائج البحث باستخدام Java، يمكنك تحسين تجربة المستخدم بشكل كبير من خلال التأكيد بصريًا على المعلومات ذات الصلة ضمن نتائج البحث. يوفر هذا الدليل شرحًا شاملاً لكيفية إبراز نتائج البحث في Java، مع تفصيل الخطوات لتطبيق العلامات المرئية على المصطلحات المطابقة، مما يساعد المستخدمين على تحديد المعلومات التي يبحثون عنها والوصول إليها بسرعة وبسهولة وكفاءة أكبر.
خطوات لتسليط الضوء على نتائج البحث باستخدام Java
- قم بتكوين بيئة التطوير الخاصة بك عن طريق إضافة مكتبة GroupDocs.Search for Java لتمكين تمييز نتائج البحث
- إنشاء كائن IndexSettings لتحديد تكوين فهرسة المستندات
- اضبط TextStorageSettings على Compression.High لتخزين النص المستخرج بكفاءة
- قم بتهيئة الفهرس باستخدام فئة Index، مع تحديد مسار مجلد الفهرس وكائن IndexSettings في المنشئ
- أضف المستندات إلى الفهرس باستخدام طريقة Index.add، مع توفير مسار المجلد الذي يحتوي على الملفات المراد فهرستها
- قم بإجراء بحث باستخدام طريقة Index.search باستخدام كلمة رئيسية أو عبارة محددة (على سبيل المثال، Universe). يؤدي هذا إلى إرجاع كائن SearchResult مع جميع المستندات المطابقة
تبدأ العملية بإنشاء فهرس لتخزين النص المستخرج من المستندات، ليكون بمثابة الأساس للبحث السريع والدقيق. باستخدام IndexSettings
، نقوم بتمكين تخزين النصوص عالية الضغط لضمان الكفاءة. ثم يتم تهيئة كائن Index
وتعبئته بالمستندات من مجلد معين. بعد الفهرسة، يمكنك البحث عن كلمات رئيسية معينة. على سبيل المثال، لتسليط الضوء على كلمة Universe
في مستند، يتم إجراء بحث داخل الفهرس. يحتوي كائن SearchResult
على جميع المستندات التي تتضمن الكلمة الرئيسية. إذا تم العثور على تطابقات، يتم استرداد FoundDocument
المقابل، ويتم استخدام أداة تمييز لتطبيق التمييز. يمكنك تخصيص التنسيق عن طريق تحديد TermHighlightStartTag
وTermHighlightEndTag
للتأكيد بصريًا على المصطلحات المطابقة في النص. تمكن هذه الطريقة من البحث السلس عن المستندات وتمييزها* مع تحسين تجربة المستخدم من خلال جعل النص ذي الصلة قابلاً للتحديد بوضوح.
الكود لتسليط الضوء على نتائج البحث باستخدام Java
import com.groupdocs.search.Index; | |
import com.groupdocs.search.IndexSettings; | |
import com.groupdocs.search.common.DocumentField; | |
import com.groupdocs.search.common.StructureOutputAdapter; | |
import com.groupdocs.search.highlighters.DocumentHighlighter; | |
import com.groupdocs.search.highlighters.Highlighter; | |
import com.groupdocs.search.licenses.License; | |
import com.groupdocs.search.options.Compression; | |
import com.groupdocs.search.options.HighlightOptions; | |
import com.groupdocs.search.options.OutputFormat; | |
import com.groupdocs.search.options.TextStorageSettings; | |
import com.groupdocs.search.results.FoundDocument; | |
import com.groupdocs.search.results.SearchResult; | |
public class HighlightSearchResultsusingJava { | |
public static void main(String[] args) throws Exception { | |
// Apply the license to remove the restrictions | |
// imposed by the Search library | |
License license = new License(); | |
license.setLicense("GroupDocs.Search.lic"); | |
// The path where the index will be stored | |
String indexFolder = "c:\\MyIndex\\"; | |
// The folder containing the documents you want to search | |
String documentsFolder = "c:\\MyDocuments\\"; | |
// Creating an index settings instance | |
IndexSettings settings = new IndexSettings(); | |
// Enabling the storage of extracted text in the index | |
settings.setTextStorageSettings(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.getDocumentCount() > 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.setTermHighlightStartTag("<Term>"); | |
// Setting the end tag for the found word | |
options.setTermHighlightEndTag("</Term>"); | |
// Generating plain text with highlighted occurrences | |
index.highlight(document, highlighter, options); | |
DocumentField[] fields = outputAdapter.getResult(); | |
System.out.println(document.toString()); | |
for (DocumentField field : fields) { | |
// Printing field names of the found document | |
System.out.println("\t" + field.getName()); | |
} | |
} | |
} | |
} |
يلعب تمييز تطابقات البحث في Java دورًا حاسمًا في تطبيقات البحث عن المستندات، حيث يساعد المستخدمين على تحديد المعلومات ذات الصلة بسرعة. باستخدام مكتبة البحث، يمكنك تنفيذ تمييز تطابقات البحث في Java بكفاءة لإنشاء نظام قوي وبديهي بصريًا. تعمل هذه الميزة على تحسين وظيفة البحث من خلال إبراز النتائج، وبالتالي تحسين تجربة المستخدم بشكل عام. عملية تنفيذ البحث والتمييز في Java بسيطة ومرنة، مما يسمح بالتخصيص بما يتناسب مع المتطلبات الفريدة للتطبيقات مثل أنظمة إدارة المستندات أو أدوات البحث في الوقت الفعلي.
لقد نشرنا سابقًا دليلًا شاملاً حول الحصول على مستندات مفهرسة باستخدام Java. للحصول على برنامج تعليمي مفصل خطوة بخطوة، لا تفوت مقالتنا حول كيفية الحصول على المستندات المفهرسة باستخدام Java.