, links unchanged.
Check for any missing shortcodes: none.
Now produce final content.# Hogyan hozzunk létre indexet karakterfelismeréssel a GroupDocs.Search for Java használatával
A modern, dokumentum‑intenzív alkalmazásokban elengedhetetlen, hogy a how to create index figyelembe vegye 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. Ebben az útmutatóban végigvezetünk a karakterfelismerés beállításán a GroupDocs.Search for Java‑ban, lefedve a szabályos karaktereket (betűk, számok, aláhúzások) és a kevert karaktereket (például kötőjelek). A végére képes lesz testre szabni egy indexet, amely pontosan megfelel az OCR vagy képes keresési forgatókönyvének, legyen szó jogi ügyiratszámok, forráskód-repozitóriumok vagy többnyelvű PDF‑ek indexeléséről.
Gyors válaszok
- What does “create custom search index” mean? 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.
- Which library is used? GroupDocs.Search for Java (v25.4 a írás időpontjában).
- Do I need a license? Egy ingyenes próba a fejlesztéshez megfelelő; a termeléshez fizetett licenc szükséges.
- Can I index both PDFs and images? Igen – a GroupDocs.Search támogatja az OCR‑t képeken és PDF‑eken, ha megfelelően van beállítva.
- Is Maven required? A Maven a javasolt módja a függőségek kezelésének, de használhat Gradle‑t vagy manuális JAR‑okat is.
Mi az egyedi keresőindex?
Az egyedi kereső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ó egyezéseket eredményezhet például ügyiratszámok (2023-AB-456) vagy kódrészletek (my_variable) esetén. Az ábécé szótár beállításával teljes irányítást kapsz arról, hogy a motor mi tekinthető kereshető szövegnek.
Miért konfiguráljunk szabályos és kevert karaktereket jogi ügyiratszámokhoz?
- Regular characters (betűk, számok, aláhúzások) külön tokenizálódnak, lehetővé téve a pontos egyezésű kereséseket az azonosítókra.
- Blended characters (kötőjelek, perjelek) egyesítik a kapcsolódó tokeneket, megakadályozva a nem kívánt szétválást az ügyiratszámok, termékkódok vagy fájlutak esetén.
- Ez a beállítás optimalizálja a keresőindex teljesítményét azáltal, hogy csökkenti a token fragmentációt és javítja a relevanciát az OCR‑által generált tartalmaknál.
Előkövetelmények
- JDK 8 vagy újabb telepítve.
- Maven a függőségkezeléshez.
- Hozzáférés a GroupDocs.Search for Java könyvtárhoz (letölthető Maven‑on vagy a hivatalos oldalról).
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‑hez (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 innen: GroupDocs.Search for Java releases.
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.
Szerezzen licencet 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‑nel
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 róla, 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 karaktereket független tokenekként kezelik. Ideális, ha a számok, betűk és aláhúzások pontosan úgy legyenek kereshetők, ahogy megjelennek.
Lépésről‑lépésre megvalósítás
1️⃣ Set Up Paths
Határozza meg, hogy hol tárolódik az index és hol vannak a forrásdokumentumok.
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/CharacterTypes/RegularCharacters";
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
2️⃣ Create and Configure Index
Példányosítsa az indexet, és törölje az esetleg korábban beállított ábécé konfigurációt.
Index index = new Index(indexFolder);
index.getDictionaries().getAlphabet().clear();
3️⃣ Define Regular Characters
Hozzon létre egy karaktertömböt, amely tartalmazza a számokat, 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️⃣ Index Documents
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 a tokenek körülötte egyben tartja az indexelés során.
Lépésről‑lépésre megvalósítás
1️⃣ Set Up Paths
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/CharacterTypes/BlendedCharacters";
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
2️⃣ Create and Configure Index
Index index = new Index(indexFolder);
3️⃣ Define Blended Characters
Itt azt mondjuk a szótárnak, hogy a kötőjelet kevert karakterként kezelje.
index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);
4️⃣ Index Documents
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 anélkül, hogy szétbontaná az azonosítót, így hatékonyan kereshet jogi ügyiratszámokat.
2. eset – Forráskód-repozitóriumok
A fejlesztőknek 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ű adatkészletek
Ha olyan nyelvekkel dolgozik, amelyek további ábécéket használnak, kiterjesztheti a Unicode karakterkészletet ezeknek a tartományoknak a belefoglalásával, ezáltal biztosítva a pontos többnyelvű keresési eredményeket.
4. eset – PDF‑képek indexelése
Ha beolvasott PDF‑eket vagy képfájlokat indexel, az OCR kimenete gyakran vegyes karaktereket tartalmaz. A szabályos és kevert karakterek megfelelő beállítása optimalizálja a keresőindex teljesítményét a képalapú tartalmaknál.
Teljesítményfontosságú szempontok
- Resource Management – Figyelje a heap használatát; a nagy indexek előnyben részesítik az inkrementális commit‑okat.
- Garbage Collection – Szabadítsa fel a
Indexobjektumokat, 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()(ha elérhető) metódust az index tömörítéséhez és a lekérdezési sebesség javításához.
Következtetés
Most már tudja, hogyan hozzunk létre 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ési 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 karakterbeállítást 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 elérhetővé tegye.
Gyakran Ismételt Kérdések
Q: Mi a célja a CharacterType.Letter-nek?
A: Azt mondja az indexnek, hogy a megadott karaktereket szabályos betűként kezelje, így az indexelés során külön tokenizálódnak.
Q: Keverhetek szabályos és kevert karaktereket ugyanabban az indexben?
A: Igen – egyszerűen hívja meg a setRange‑t minden típusra; a szótár egyszerre kezeli mindkét konfigurációt.
Q: Újra kell építeni az indexet az ábécé módosítása után?
A: Határozottan. 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 találatokat és javítja a keresés általános relevanciáját.
Last Updated: 2026-03-17
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs