Egyedi keresési index létrehozása karakterfelismeréssel a GroupDocs.Search for Java használatával

A modern, dokumentum‑intenzív alkalmazásokban elengedhetetlen a custom search index létrehozása, amely megérti a szöveg finomságait – például a kötőjeleket, aláhúzásokat vagy nyelvspecifikus szimbólumokat – a gyors és pontos visszakeresés érdekében. Ez az útmutató végigvezet a karakterfelismerés konfigurálásán a GroupDocs.Search for Java‑ban, mind a szabályos karakterek (betűk, számjegyek, aláhúzások), mind a kevert karakterek (pl. kötőjelek) tekintetében. A végére képes lesz egy olyan index testreszabására, amely pontosan megfelel az OCR vagy képkeresési forgatókönyvének.

Gyors válaszok

  • Mi jelenti a „create custom search index” kifejezést? Ez azt jelenti, hogy egy indexet úgy konfigurálunk, hogy bizonyos szimbólumokat betűként vagy kevert karakterként kezelje, ahelyett, hogy figyelmen kívül hagyná őket.
  • Melyik könyvtár van használatban? GroupDocs.Search for Java (v25.4 a írás időpontjában).
  • Szükségem van licencre? A fejlesztéshez egy ingyenes próba verzió elegendő; a termeléshez fizetett licenc szükséges.
  • Indexelhetek PDF‑eket és képeket is? Igen – a GroupDocs.Search megfelelő beállítás esetén támogatja az OCR‑t képeken és PDF‑eken.
  • Kell Maven? A Maven a függőségek kezelésének ajánlott módja, de használhat Gradle‑t vagy manuális JAR‑okat is.

Mi az egyedi keresési index?

Az egyedi keresési index lehetővé teszi, hogy meghatározd, a keresőmotor hogyan értelmezi a karaktereket. Alapértelmezés szerint sok szimbólum figyelmen kívül marad, ami hiányzó találatokhoz vezethet például ügyiratszámok (ABC-123) vagy kódrészletek (my_variable) esetén. Az ábécé szótár módosításával teljes irányítást kapsz arról, hogy a motor mit tekint kereshető szövegnek.

Miért konfiguráljuk a szabályos és kevert karaktereket?

  • Szabályos karakterek (betűk, számjegyek, aláhúzások) önálló tokenként kezelődnek, javítva a pontos egyezésű kereséseket.
  • Kevert karakterek (kötőjelek, perjelek) összekapcsolják a szavakat; ezek konfigurálása megakadályozza a nem kívánt token szétválasztást, ami kulcsfontosságú jogi hivatkozások, termékkódok vagy forráskód indexelése esetén.

Előfeltételek

  • JDK 8 vagy újabb telepítve.
  • Maven a függőségek kezeléséhez.
  • Hozzáférés a GroupDocs.Search for Java könyvtárhoz (Maven‑en vagy a hivatalos weboldalon keresztül letölthető).

Szükséges könyvtárak és függőségek

Adja hozzá a tárolót és a függőségi bejegyzéseket a pom.xml fájlhoz (az alább látható módon). Az XML blokkot változatlanul kell hagyni.

<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>

A legújabb JAR‑okat letöltheti a GroupDocs.Search for Java releases oldalról.

Licenc beszerzése

  • Free Trial – tökéletes a korai kísérletezéshez.
  • Temporary License – hasznos hosszabb fejlesztési ciklusokhoz.
  • Production License – szükséges a kereskedelmi üzembe helyezéshez.

Licencet szerezhet a hivatalos portálon: GroupDocs.

Alap inicializálás

Az alábbi kódrészlet mutatja a minimális kódot egy üres index elindításához. Hagyja változatlanul; később bővítjük.

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!");
    }
}

A GroupDocs.Search for Java beállítása

Telepítés Maven‑en keresztül

A Prerequisites szakaszból származó Maven‑konfiguráció minden, amire szüksége van. Hozzáadás után futtassa a mvn clean install parancsot a binárisok letöltéséhez.

Környezet beállítási követelmények

  • Győződjön meg arról, hogy a index mappa és a dokumentum mappa létezik a lemezen.
  • Használjon abszolút útvonalakat, vagy konfigurálja az IDE‑t, hogy helyesen oldja fel a relatív útvonalakat.

Implementációs útmutató

Az alábbiakban két különálló funkciót mutatunk be: regular characters és blended characters. Minden funkció ugyanazt a mintát követi – meghatározza az útvonalakat, létrehozza az indexet, beállítja a karakter szótárat, és végül indexeli a dokumentumokat.

1. funkció – Szabályos karakterek

Áttekintés

A szabályos karakterek független tokenként kezelődnek. Ideális, ha a számjegyeket, betűket és aláhúzásokat pontosan úgy szeretné keresni, ahogy megjelennek.

Lépésről‑lépésre megvalósítás

1️⃣ Útvonalak beállítása
Határozza meg, hogy hol tárolja az indexet, és hol vannak a forrásdokumentumok.

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

2️⃣ Index létrehozása és konfigurálása
Példányosítsa az indexet, és törölje az esetleg már meglévő ábécé beállítást.

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

3️⃣ Szabályos karakterek meghatározása
Készítsen karaktertömböt, amely tartalmazza a számjegyeket, a latin betűket és az aláhúzást.

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️⃣ Dokumentumok indexelése
Adja hozzá az összes fájlt a forrásmappából az újonnan konfigurált indexhez.

index.add(documentFolder);

2. funkció – Kevert karakterek

Áttekintés

A kevert karakterek (például a kötőjelek) gyakran összekapcsolnak két szót. Ha blended-ként jelöljük őket, a motor az indexelés során egyben tartja a környező tokeneket.

Lépésről‑lépésre megvalósítás

1️⃣ Útvonalak beállítása

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

2️⃣ Index létrehozása és konfigurálása

Index index = new Index(indexFolder);

3️⃣ Kevert karakterek meghatározása
Itt azt mondjuk meg a szótárnak, hogy a kötőjelet kevert karakterként kezelje.

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

4️⃣ Dokumentumok indexelése

index.add(documentFolder);

Gyakorlati alkalmazások

1. eset – Jogi dokumentumkezelés

A jogi fájlok gyakran tartalmaznak ügyiratszámokat, például 2023-AB-456. Az aláhúzások és kötőjelek konfigurálásával a keresés pontos egyezéseket ad vissza, anélkül, hogy szétválasztaná az azonosítót.

2. eset – Forráskód tárolók

A fejlesztőknek olyan kódrészleteket kell keresniük, ahol az aláhúzások (my_variable) és a kötőjelek (my-function) jelentőséggel bírnak. Az egyedi karakterfelismerés biztosítja, hogy a keresőmotor tiszteletben tartja ezeket a szimbólumokat.

3. eset – Többnyelvű adathalmazok

Ha olyan nyelvekkel dolgozik, amelyek további ábécéket használnak, kibővítheti a szabályos karakterkészletet a megfelelő Unicode tartományokkal, ezáltal biztosítva a pontos többnyelvű keresési eredményeket.

Teljesítménybeli megfontolások

  • Resource Management – Figyelje a heap használatot; a nagy indexek előnyben részesítik az inkrementális commit‑okat.
  • Garbage Collection – Szabadítsa fel az Index objektumokat, amikor már nincs rájuk szükség, hogy a JVM visszanyerje a memóriát.
  • Index Optimization – Időnként hívja meg a index.optimize() metódust (ha elérhető), hogy tömörítse az indexet és javítsa a lekérdezési sebességet.

Következtetés

Most már tudja, hogyan hozzon létre egy egyedi keresési indexet, amely megkülönbözteti a szabályos és kevert karaktereket a GroupDocs.Search for Java használatával. Ez a finomhangolt vezérlés lehetővé teszi, hogy OCR‑tudatos, nagy teljesítményű keresési megoldásokat építsen, amelyek a jogi, fejlesztői vagy többnyelvű környezetekhez igazodnak.

Következő lépések

  • Kísérletezzen további Unicode tartományokkal a nem latin ábécékhez.
  • Kombinálja a karakterkonfigurációt más GroupDocs.Search funkciókkal, például stemminggel vagy szinonimákkal.
  • Integrálja az indexet egy REST API‑ba, hogy a keresési képességeket front‑end alkalmazások számára tegye elérhetővé.

Gyakran ismételt kérdések

Q: Mi a CharacterType.Letter célja?
A: Azt mondja az indexnek, hogy a megadott karaktereket szabályos betűként kezelje, így az indexelés során külön tokenekre bontja őket.

Q: Keverhetek szabályos és kevert karaktereket ugyanabban az indexben?
A: Igen – egyszerűen hívja meg a setRange metódust minden típusra; a szótár egyidejűleg kezeli mindkét konfigurációt.

Q: Újra kell építeni az indexet az ábécé módosítása után?
A: Teljesen igaz. A karakter szótár változásai befolyásolják a tokenizálást, ezért újra kell indexelni a dokumentumokat az új szabályok alkalmazásához.

Q: Van korlát a definiálható egyedi karakterek számában?
A: A könyvtár támogatja a teljes Unicode tartományt; a teljesítmény romolhat, ha rendkívül nagy halmazt ad hozzá, ezért korlátozza a ténylegesen szükséges karakterekre.

Q: Hogyan befolyásolja ez az OCR pontosságát?
A: Az index karakterkészletének az OCR motor kimenetéhez való igazításával csökkenti a hamis negatív eredményeket és javítja a keresés általános relevanciáját.


Utoljára frissítve: 2026-01-11
Tesztelve: GroupDocs.Search 25.4 for Java
Szerző: GroupDocs