Hogyan indexeljük a dokumentumokat a GroupDocs.Search for Java segítségével
A mai adat‑központú világban a hogyan indexeljük a dokumentumokat hatékonyan kritikus készség minden olyan Java fejlesztő számára, aki nagy fájlkészletekkel dolgozik. Legyen szó jogi szerződésekről, pénzügyi kimutatásokról vagy belső jelentésekről, egy jól felépített keresőindex lehetővé teszi, hogy a pontos információt másodpercek alatt megtalálja, a manuális órák helyett. Ez az útmutató végigvezeti Önt egy keresőindex létrehozásán, dokumentumok hozzáadásán, valamint szöveges és objektumalapú lekérdezések futtatásán a GroupDocs.Search for Java-val.
Gyors válaszok
- Mi az első lépés a dokumentumok indexeléséhez? Hozzon létre egy
Indexpéldányt, amely egy mappára mutat, ahol az index fájlok tárolódnak. - Melyik metódus ad dokumentumokat egy indexhez? Hívja a
index.add("PATH_TO_DOCUMENTS")-t, hogy beolvas egy könyvtárat és betöltse a támogatott fájlokat. - Kereshetek numerikus tartományokat? Igen – használjon szöveges lekérdezést, például
"400 ~~ 4000"vagy objektum lekérdezést aSearchQuery.createNumericRangeQuerysegítségével. AcreateNumericRangeQuerymetódus egy numerikus tartomány lekérdezés objektumot hoz létre. - Szükségem van licencre? Egy ingyenes próba a kiértékeléshez működik; egy kereskedelmi licenc feloldja a teljes funkciókészletet és eltávolítja a használati korlátokat.
- Melyik Java verzió szükséges? A JDK 8 vagy újabb támogatott.
Mi a dokumentumok indexelése a GroupDocs.Search segítségével?
A dokumentumok indexelése kereshető token tárolót hoz létre minden fájlhoz, lehetővé téve a motor számára, hogy a találatokat anélkül hozza vissza, hogy minden alkalommal az eredeti fájlokat olvasná be. Ez az előfeldolgozási lépés a nyers tartalmat egy optimalizált indexbe alakítja, amelyet ezrekben másodpercben lehet lekérdezni. Az index tárolja a kifejezéseket, pozíciókat és metaadatokat, ezáltal gyors szókapcsolat‑ és közelségi kereséseket biztosít minden támogatott dokumentumtípusban.
Miért használjuk a GroupDocs.Search for Java‑t?
A keresési műveletek általában 50 ms alatti idő alatt befejeződnek egy 10 000 fájlból álló gyűjteményen (átlagosan 1 KB/fájl) egy szabványos 2‑CPU, 8 GB VM‑en. A könyvtár 30+ bemeneti és kimeneti formátumot támogat – köztük PDF, DOCX, XLSX, PPTX, TXT és HTML – így gyakorlatilag bármilyen üzleti dokumentumot indexelhet további konverterek nélkül. Rugalmas API‑ja lehetővé teszi egyszerű szöveges lekérdezések, numerikus tartományok és összetett objektumlekérdezések kombinálását, míg az inkrementális frissítések új fájlok hozzáadását teszik lehetővé az egész index újbóli felépítése nélkül.
Előfeltételek
- Maven telepítve a függőségkezeléshez.
- Egy IDE, például IntelliJ IDEA vagy Eclipse.
- Alapvető Java ismeretek (OOP koncepciók, kivételkezelés).
A GroupDocs.Search for Java beállítása
Maven beállítás
Adja hozzá a tárolót és a függőséget a pom.xml‑hez:
<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>
Közvetlen letöltés
A legújabb JAR‑t letöltheti a GroupDocs.Search for Java releases oldalról.
Licenc beszerzési lépések
- Ingyenes próba – a könyvtár felfedezése költség nélkül.
- Ideiglenes licenc – kérjen rövid távú kulcsot a kiterjesztett kiértékeléshez.
- Vásárlás – szerezzen teljes licencet a termeléshez.
Alap inicializálás és beállítás
A dokumentumok indexhez adásához először hozzon létre egy Index objektumot, amely a mappára mutat, ahol az index fájlok tárolódnak:
Index a fő osztály, amely egy kereshető indexet képvisel a lemezen.
import com.groupdocs.search.Index;
// Initialize the index by specifying a directory path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");
Ez a sor létrehozza (vagy megnyitja) az indexet, amely készen áll a dokumentumok fogadására.
Megvalósítási útmutató
Dokumentumok létrehozása és indexelése
Hogyan adjunk dokumentumokat az indexhez
Az add metódus beolvas egy mappát, és kereshető adatot tárol minden fájlhoz. Rekurzívan feldolgozza az összes támogatott dokumentumot, kinyeri a szöveget és a metaadatokat, majd tokeneket ír az előbb megadott indexmappába.
import com.groupdocs.search.Index;
// Initialize an index at the specified path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");
// Add documents from a directory for indexing
index.add("YOUR_DOCUMENT_DIRECTORY");
- Paraméterek: A útvonal karakterlánc a dokumentumokat tartalmazó mappára mutat.
- Cél: E lépés után az index tartalmazza az összes támogatott dokumentumtípus tokenjeit, lehetővé téve a gyors kereséseket a teljes gyűjteményen.
Szöveges lekérdezés keresése
Hogyan hajtsunk végre szöveges numerikus tartomány keresést
Egyszerű karakterláncot használhat a tartomány meghatározásához. A motor a ~~ operátort „között” értelmezi, és visszaadja az összes dokumentumot, amely a megadott határokon belüli számokat tartalmazza.
import com.groupdocs.search.*;
import com.groupdocs.search.results.*;
// Define a query for numeric values within a specific range
String query1 = "400 ~~ 4000";
// Execute text-based search on indexed data
SearchResult result1 = index.search(query1);
- Paraméterek: A lekérdezés karakterlánc
"400 ~~ 4000"azt mondja a motornak, hogy keresse a 400 és 4000 közötti számokat. - Visszatérési érték: A
SearchResulttartalmazza a megfelelő dokumentumok listáját, és kiemeli a találatot adó szövegrészeket.
Objektum lekérdezés keresése
Hogyan használjunk objektum lekérdezést numerikus tartományokhoz
Az objektumalapú lekérdezések programozott vezérlést biztosítanak a keresési kritériumok felett, lehetővé téve több feltétel kombinálását vagy lekérdezések dinamikus felépítését futásidőben.
import com.groupdocs.search.*;
import com.groupdocs.search.results.*;
// Create a numeric range query object
SearchQuery query2 = SearchQuery.createNumericRangeQuery(400, 4000);
// Perform search using the query object
SearchResult result2 = index.search(query2);
- Paraméterek: A
createNumericRangeQuerya kezdő és befejező egész számokat kapja. - Cél: Ez a metódus ideális, ha numerikus mezők (például számlák összege, kor, vagy termékkódok) alapján kell szűrni az eredményeket.
Gyakorlati alkalmazások
Íme néhány valós életbeli forgatókönyv, ahol a dokumentumok indexelése igazi áttörést jelent:
- Jogdokumentum-kezelés – záradékok, ügyiratszámok vagy dátumok megtalálása több ezer szerződésben másodpercek alatt.
- Pénzügyi jelentés – tranzakciók kinyerése egy adott pénzügyi tartományban anélkül, hogy minden táblázatot egyenként átnézne.
- Készletkövetés – elemek keresése sorozatszámok, tételkódok vagy SKU‑tartományok alapján egy elosztott fájlrendszerben.
A GroupDocs.Search integrálása adatbázisokkal, felhőtárolókkal vagy üzenetsorokkal tovább automatizálhatja a dokumentumáramlásokat.
Teljesítmény szempontok
- Rendszeres indexfrissítések: Futtassa újra az
index.add‑t az új fájlokhoz, hogy az index naprakész maradjon. - Erőforrás-kezelés: Figyelje a heap használatát; nagy indexek esetén érdemes a JVM szemétgyűjtési beállításait finomhangolni.
- Lekérdezés optimalizálás: Használjon objektumlekérdezéseket összetett szűrőkhez, hogy csökkentse a felesleges beolvasást és javítsa a válaszidőt.
Gyakori problémák és megoldások
| Probléma | Miért fordul elő | Megoldás |
|---|---|---|
| A keresés nem ad eredményt | Az index nincs felépítve vagy a mappa útvonala helytelen | Ellenőrizze, hogy az index.add a megfelelő könyvtáron futott-e, és hogy az indexmappa írható‑olvasható. |
| OutOfMemoryError indexelés közben | Nagyon nagy fájlok vagy elégtelen heap | Növelje a JVM -Xmx értékét, vagy kisebb adagokban indexeljen. |
| Nem támogatott fájlformátum | A fájltípust a GroupDocs.Search nem ismeri fel | Győződjön meg róla, hogy a kiterjesztés a támogatott listán van (PDF, DOCX, XLSX, PPTX, TXT, HTML, stb.). |
Gyakran feltett kérdések
Q: Hogyan frissíthetem a meglévő indexet új dokumentumokkal?
A: Hívja újra a index.add("NEW_DOCUMENT_PATH")‑t; a könyvtár összevonja az új bejegyzéseket anélkül, hogy újraépítené az egész indexet.
Q: Kezelhet-e a GroupDocs.Search különböző fájlformátumokat?
A: Igen, több mint 30 formátumot támogat – beleértve a PDF‑et, DOCX‑et, XLSX‑et, PPTX‑et, TXT‑t és HTML‑t – így gyakorlatilag bármilyen üzleti dokumentumot indexelhet.
Q: Melyek a rendszerkövetelmények a GroupDocs.Search használatához?
A: Java 8+ futtatókörnyezet, legalább 2 GB RAM közepes méretű gyűjteményekhez (nagyobb adathalmazokhoz 4 GB+ ajánlott), valamint olvasási/írási hozzáférés az indexmappához.
Q: Hogyan tudom hibaelhárítani a keresési teljesítményproblémákat?
A: Tartsa naprakészen az indexet, profilozza a lekérdezéseket, és ellenőrizze a JVM memória beállításait. A indexelt mezők számának csökkentése vagy objektumlekérdezések használata szintén felgyorsíthatja a végrehajtást.
Q: Van támogatás szinonimákra vagy fuzzy keresésre?
A: Igen, a SearchOptions osztály segítségével engedélyezheti a szinonimaszótárakat és a fuzzy keresést, így bővítheti a találatokat anélkül, hogy a relevanciát csökkentené. A SearchOptions osztály konfigurálja a fejlett keresési viselkedést, például a szinonimákat és a fuzzy keresést.
Last Updated: 2026-08-10
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs