สร้างดัชนีการค้นหาที่กำหนดเองพร้อมการรับรู้ตัวอักษรโดยใช้ GroupDocs.Search สำหรับ Java

ในแอปพลิเคชันที่มีเอกสารจำนวนมากในยุคปัจจุบัน, การสร้างดัชนีการค้นหาที่กำหนดเอง ที่เข้าใจความละเอียดของข้อความของคุณ—เช่น เครื่องหมายขีดกลาง, เครื่องหมายขีดล่าง, หรือสัญลักษณ์เฉพาะของภาษา—เป็นสิ่งสำคัญสำหรับการดึงข้อมูลที่รวดเร็วและแม่นยำ. บทเรียนนี้จะพาคุณผ่านการกำหนดค่าการรับรู้ตัวอักษรใน GroupDocs.Search สำหรับ Java, ครอบคลุมทั้งตัวอักษรปกติ (ตัวอักษร, ตัวเลข, เครื่องหมายขีดล่าง) และตัวอักษรผสม (เช่น เครื่องหมายขีดกลาง). เมื่อเสร็จสิ้น, คุณจะสามารถปรับแต่งดัชนีให้ตรงกับความต้องการของสถานการณ์ OCR หรือการค้นหาภาพของคุณได้อย่างแม่นยำ.

คำตอบสั้น ๆ

  • “สร้างดัชนีการค้นหาที่กำหนดเอง” หมายถึงอะไร? หมายถึงการกำหนดค่าดัชนีให้จัดการกับสัญลักษณ์เฉพาะเป็นตัวอักษรหรือเป็นตัวอักษรผสม, แทนที่จะละเลยมัน.
  • ใช้ไลบรารีอะไร? GroupDocs.Search สำหรับ Java (เวอร์ชัน 25.4 ณ เวลาที่เขียน).
  • ต้องการไลเซนส์หรือไม่? ทดลองใช้ฟรีทำงานได้สำหรับการพัฒนา; ต้องมีไลเซนส์แบบชำระเงินสำหรับการใช้งานในผลิตภัณฑ์.
  • สามารถทำดัชนีทั้ง PDF และรูปภาพได้หรือไม่? ได้—GroupDocs.Search รองรับ OCR บนรูปภาพและ PDF เมื่อกำหนดค่าอย่างเหม- ต้องใช้ Maven หรือไม่? Maven เป็นวิธีที่แนะนำสำหรับการจัดการ dependencies, แต่คุณก็สามารถใช้ Gradle หรือ JAR แบบแมนนวลได้เช่นกัน.

ดัชนีการค้นหาที่กำหนดเองคืออะไร?

ดัชนีการค้นหาที่กำหนดเองช่วยให้คุณกำหนดวิธีที่เครื่องมือค้นหาแปลความหมายของตัวอักษร. โดยค่าเริ่มต้น, สัญลักษณ์หลายอย่างจะถูกละเลย, ซึ่งอาจทำให้พลาดการจับคู่สำหรับข้อมูลเช่นหมายเลขคดี (ABC-123) หรือโค้ดส่วนหนึ่ง (my_variable). การปรับพจนานุกรมอัลฟาเบตให้คุณควบคุมได้เต็มที่ว่าตัวอักษรใดจะถือเป็นข้อความที่สามารถค้นหาได้.

ทำไมต้องกำหนดค่าตัวอักษรปกติและตัวอักษรผสม?

  • ตัวอักษรปกติ (ตัวอักษร, ตัวเลข, เครื่องหมายขีดล่าง) จะถูกจัดเป็นโทเคนแยก, ช่วยให้การค้นหาแบบตรงกันเต็มที่มีประสิทธิภาพมากขึ้น.
  • ตัวอักษรผสม (เครื่องหมายขีดกลาง, เครื่องหมายทับ) เชื่อมคำ; การกำหนดค่าพวกมันจะป้องกันการแยกโทเคนที่ไม่ต้องการ, ซึ่งสำคัญสำหรับการอ้างอิงทางกฎหมาย, รหัสสินค้า, หรือการทำดัชนีโค้ดต้นฉบับ.

ข้อกำหนดเบื้องต้น

  • JDK 8 หรือใหม่กว่าได้ถูกติดตั้ง.
  • Maven สำหรับการจัดการ dependencies.
  • เข้าถึงไลบรารี GroupDocs.Search สำหรับ Java (ดาวน์โหลดผ่าน Maven หรือเว็บไซต์ทางการ).

ไลบรารีและ Dependencies ที่จำเป็น

เพิ่ม repository และ dependency ลงในไฟล์ pom.xml ของคุณ (ตามตัวอย่างด้านล่าง). ส่วน XML ต้องคงไว้โดยไม่แก้ไข.

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/search/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-search</artifactId>
      <version>25.4</version>
   </dependency>
</dependencies>

คุณยังสามารถดาวน์โหลด JAR ล่าสุดจาก การปล่อย GroupDocs.Search สำหรับ Java.

การรับไลเซนส์

  • Free Trial – เหมาะสำหรับการทดลองในขั้นต้น.
  • Temporary License – มีประโยชน์สำหรับระยะเวลาการพัฒนานานขึ้น.
  • Production License – จำเป็นสำหรับการใช้งานเชิงพาณิชย์.

รับไลเซนส์จากพอร์ทัลทางการ: GroupDocs.

การเริ่มต้นพื้นฐาน

โค้ดตัวอย่างด้านล่างแสดงวิธีการสร้างดัชนีเปล่าอย่างน้อยที่สุด. คงไว้ตามเดิม; เราจะต่อยอดจากนี้ในภายหลัง.

import com.groupdocs.search.*;

public class GroupDocsSearchSetup {
    public static void main(String[] args) {
        String indexFolder = "YOUR_OUTPUT_DIRECTORY";
        String documentFolder = "YOUR_DOCUMENT_DIRECTORY";

        Index index = new Index(indexFolder);
        
        System.out.println("GroupDocs.Search setup completed!");
    }
}

การตั้งค่า GroupDocs.Search สำหรับ Java

การติดตั้งผ่าน Maven

การกำหนดค่า Maven จากส่วน ข้อกำหนดเบื้องต้น คือทั้งหมดที่คุณต้องการ. หลังจากเพิ่มแล้ว, รัน mvn clean install เพื่อดึงไบนารีที่จำเป็น.

ความต้องการการตั้งค่าสภาพแวดล้อม

  • ตรวจสอบให้แน่ใจว่า โฟลเดอร์ดัชนี และ โฟลเดอร์เอกสาร มีอยู่บนดิสก์.
  • ใช้เส้นทางแบบ absolute หรือกำหนดค่า IDE ของคุณให้แก้ไขเส้นทางแบบ relative อย่างถูกต้อง.

คู่มือการดำเนินการ

ด้านล่างเราจะอธิบายสองฟีเจอร์ที่แตกต่างกัน: ตัวอักษรปกติ และ ตัวอักษรผสม. แต่ละฟีเจอร์ทำตามรูปแบบเดียวกัน—กำหนดเส้นทาง, สร้างดัชนี, ตั้งค่าพจนานุกรมตัวอักษร, และสุดท้ายทำการทำดัชนีเอกสารของคุณ.

ฟีเจอร์ 1 – ตัวอักษรปกติ

ภาพรวม

ตัวอักษรปกติจะถูกจัดเป็นโทเคนอิสระ. เหมาะเมื่อคุณต้องการให้ตัวเลข, ตัวอักษร, และเครื่องหมายขีดล่างสามารถค้นหาได้ตรงตามที่ปรากฏ.

การดำเนินการแบบขั้นตอน

1️⃣ ตั้งค่าเส้นทาง
กำหนดตำแหน่งที่ดัชนีจะถูกเก็บและตำแหน่งที่เอกสารต้นฉบับของคุณอยู่.

String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/CharacterTypes/RegularCharacters";
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";

2️⃣ สร้างและกำหนดค่าดัชนี
สร้างอินสแตนซ์ของดัชนีและล้างการกำหนดค่าอัลฟาเบตที่มีอยู่ก่อนหน้า.

Index index = new Index(indexFolder);
index.getDictionaries().getAlphabet().clear();

3️⃣ กำหนดตัวอักษรปกติ
สร้างอาเรย์ของตัวอักษรที่รวมตัวเลข, ตัวอักษรละติน, และเครื่องหมายขีดล่าง.

StringBuilder sb = new StringBuilder();
for (char i = 0x0030; i <= 0x0039; i++) { // Digits
    sb.append(i);
}
for (char i = 0x0041; i <= 0x005A; i++) { // Latin capital letters
    sb.append(i);
}
sb.append(0x005F); // Underscore
for (char i = 0x0061; i <= 0x007A; i++) { // Latin small letters
    sb.append(i);
}

// Convert to character array and set as alphabet range
char[] characters = new char[sb.length()];
sb.getChars(0, sb.length(), characters, 0);
index.getDictionaries().getAlphabet().setRange(characters, CharacterType.Letter);

4️⃣ ทำดัชนีเอกสาร
เพิ่มไฟล์ทั้งหมดจากโฟลเดอร์ต้นฉบับเข้าสู่ดัชนีที่กำหนดค่าใหม่.

index.add(documentFolder);

ฟีเจอร์ 2 – ตัวอักษรผสม

ภาพรวม

ตัวอักษรผสม (เช่น เครื่องหมายขีดกลาง) มักเชื่อมคำสองคำ. การทำเครื่องหมายเป็น ผสม จะบอกเครื่องมือให้รักษาโทเคนรอบข้างไว้ด้วยกันระหว่างการทำดัชนี.

การดำเนินการแบบขั้นตอน

1️⃣ ตั้งค่าเส้นทาง

String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/CharacterTypes/BlendedCharacters";
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";

2️⃣ สร้างและกำหนดค่าดัชนี

Index index = new Index(indexFolder);

3️⃣ กำหนดตัวอักษรผสม
ที่นี่เราบอกพจนานุกรมว่าเครื่องหมายขีดกลางควรถือเป็นตัวอักษรผสม.

index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);

4️⃣ ทำดัชนีเอกสาร

index.add(documentFolder);

การประยุกต์ใช้งานจริง

กรณีใช้งาน 1 – การจัดการเอกสารทางกฎหมาย

ไฟล์กฎหมายมักมีหมายเลขคดีเช่น 2023-AB-456. ด้วยการกำหนดค่าเครื่องหมายขีดล่างและขีดกลาง, การค้นหาจะคืนผลลัพธ์ที่ตรงกันโดยไม่แยกตัวระบุออกเป็นส่วน ๆ.

กรณีใช้งาน 2 – ที่เก็บโค้ดต้นฉบับ

นักพัฒนาต้องการค้นส่วนของโค้ดที่เครื่องหมายขีดล่าง (my_variable) และเครื่องหมายขีดกลาง (my-function) มีความหมาย. การรับรู้ตัวอักษรที่กำหนดเองทำให้เครื่องมือค้นหาเคารพสัญลักษณ์เหล่านี้.

กรณีใช้งาน 3 – ชุดข้อมูลหลายภาษา

เมื่อทำงานกับภาษาที่ใช้อักษรเพิ่มเติม, คุณสามารถขยายชุดตัวอักษรปกติให้รวมช่วง Unicode เหล่านั้น, เพื่อรับประกันผลการค้นหาที่แม่นยำข้ามภาษา.

พิจารณาด้านประสิทธิภาพ

  • การจัดการทรัพยากร – ตรวจสอบการใช้ heap; ดัชนีขนาดใหญ่จะได้ประโยชน์จากการคอมมิตแบบเพิ่มส่วน.
  • Garbage Collection – ปล่อยอ็อบเจกต์ Index เมื่อเสร็จเพื่อให้ JVM สามารถคืนหน่วยความจำ.
  • การปรับแต่งดัชนี – เรียก index.optimize() อย่างสม่ำเสมอ (หากมี) เพื่อบีบอัดดัชนีและเพิ่มความเร็วของการค้นหา.

สรุป

คุณได้เรียนรู้วิธี สร้างดัชนีการค้นหาที่กำหนดเอง ที่แยกแยะระหว่างตัวอักษรปกติและตัวอักษรผสมโดยใช้ GroupDocs.Search สำหรับ Java. การควบคุมระดับละเอียดนี้ช่วยให้คุณสร้างโซลูชันการค้นหาที่รับรู้ OCR, มีประสิทธิภาพสูง, และปรับให้เหมาะกับสภาพแวดล้อมทางกฎหมาย, การพัฒนา, หรือหลายภาษาได้อย่างเต็มที่.

ขั้นตอนต่อไป

  • ทดลองเพิ่มช่วง Unicode สำหรับอักษรที่ไม่ใช่ละติน.
  • ผสานการกำหนดค่าตัวอักษรกับฟีเจอร์อื่นของ GroupDocs.Search เช่น stemming หรือ synonyms.
  • รวมดัชนีเข้ากับ REST API เพื่อเปิดเผยความสามารถการค้นหาให้กับแอปพลิเคชันฝั่งหน้า.

คำถามที่พบบ่อย

Q: วัตถุประสงค์ของ CharacterType.Letter คืออะไร?
A: มันบอกดัชนีให้ถืออักขระที่ระบุเป็นตัวอักษรปกติ, ดังนั้นจะถูกแยกเป็นโทเคนแยกกันระหว่างการทำดัชนี.

Q: ฉันสามารถผสมตัวอักษรปกติและตัวอักษรผสมในดัชนีเดียวกันได้หรือไม่?
A: ได้—เพียงเรียก setRange สำหรับแต่ละประเภท; พจนานุกรมจะจัดการการกำหนดค่าทั้งสองพร้อมกัน.

Q: ต้องสร้างดัชนีใหม่หลังจากเปลี่ยนแปลงอัลฟาเบตหรือไม่?
A: จำเป็นอย่างยิ่ง. การเปลี่ยนแปลงพจนานุกรมตัวอักษรส่งผลต่อการแยกโทเคน, ดังนั้นคุณต้องทำดัชนีเอกสารใหม่เพื่อให้กฎใหม่มีผล.

Q: มีขีดจำกัดจำนวนตัวอักษรที่กำหนดเองได้หรือไม่?
A: ไลบรารีรองรับช่วง Unicode ทั้งหมด; ประสิทธิภาพอาจลดลงหากเพิ่มชุดตัวอักษรขนาดใหญ่มาก, ดังนั้นควรจำกัดไว้ที่ตัวอักษรที่คุณต้องการจริง ๆ.

Q: การกำหนดค่านี้ส่งผลต่อความแม่นยำของ OCR อย่างไร?
A: โดยการทำให้ชุดตัวอักษรของดัชนีสอดคล้องกับผลลัพธ์ของเครื่องมือ OCR, คุณจะลดจำนวน false negatives และเพิ่มความเกี่ยวข้องของผลการค้นหาโดยรวม.


อัปเดตล่าสุด: 2026-01-11
ทดสอบกับ: GroupDocs.Search 25.4 สำหรับ Java
ผู้เขียน: GroupDocs