การจัดการผลการค้นหาอย่างมีประสิทธิภาพและการทำให้แน่ใจว่าสามารถจดจำได้ง่ายถือเป็นสิ่งสำคัญสำหรับการสร้างแอปพลิเคชันค้นหาเอกสารที่มีประสิทธิภาพและเป็นมิตรกับผู้ใช้ การใช้ประโยชน์จากความสามารถในการ เน้นผลการค้นหาโดยใช้ 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 และเน้นข้อความได้อย่างราบรื่นในขณะที่ปรับปรุงประสบการณ์ของผู้ใช้โดยทำให้สามารถระบุข้อความที่เกี่ยวข้องได้อย่างชัดเจน
โค้ดสำหรับเน้นผลลัพธ์การค้นหาโดยใช้ 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