Dokumentumok hozzáadása az indexhez tömbalapú kereséssel Java-ban

A modern alkalmazásokban, amelyeknek gyorsan kell dokumentumokat hozzáadni az indexhez, majd gyors, tömb‑alapú lekérdezéseket kell végrehajtaniuk, egy olyan megoldásra van szükség, amely méretezhető anélkül, hogy a memória túlterhelődne. Ez az útmutató végigvezet a GroupDocs.Search for Java beállításán, több dokumentummappa hozzáadásán, és a motor konfigurálásán, hogy növelje a keresési teljesítményt, miközben a java search index memory használatát kontroll alatt tartja. Akár jogi szerződéseket, ügyféltámogatási jegyeket vagy kutatási anyagokat indexel, az alábbi lépések egy termelés‑kész megvalósítást biztosítanak.

Gyors válaszok

  • Mi az első lépés? Hozzon létre egy keresési index mappát.
  • Hogyan adhatok hozzá sok fájlt? Használja a index.add() metódust minden dokumentummappához.
  • Melyik opció engedélyezi a tömbkeresést? options.setChunkSearch(true).
  • Folytathatom a keresést az első tömb után? Igen, hívja a index.searchNext() metódust a tokennel.
  • Szükségem van licencre? Egy ingyenes próba vagy ideiglenes licenc elegendő fejlesztéshez; a teljes licenc a termeléshez kötelező.

Amit megtanul

  • Hogyan hozhat létre keresési indexet egy megadott mappában.
  • Lépések a dokumentumok hozzáadásához az indexhez több helyről.
  • A keresési beállítások konfigurálása a tömb‑alapú keresés engedélyezéséhez.
  • Kezdeti és későbbi tömb‑alapú keresések végrehajtása.
  • Valós példák, ahol a tömb‑alapú dokumentumkeresés kiemelkedik.

Előfeltételek

A útmutató követéséhez legyenek a következők:

  • Szükséges könyvtárak: GroupDocs.Search for Java 25.4 vagy újabb.
  • Környezet beállítása: Telepített, kompatibilis Java Development Kit (JDK).
  • Ismeretek: Alapvető Java programozás és Maven ismerete.

A GroupDocs.Search beállítása Java-hoz

Kezdésként integrálja a GroupDocs.Search‑t a projektjébe Maven segítségével:

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

Alternatívaként töltse le a legújabb verziót a GroupDocs.Search for Java releases oldalról.

Licenc megszerzése

A GroupDocs.Search kipróbálásához:

  • Ingyenes próba – a fő funkciók tesztelése kötelezettség nélkül.
  • Ideiglenes licenc – meghosszabbított hozzáférés fejlesztéshez.
  • Megvásárlás – teljes licenc termelési környezethez.

Alapvető inicializálás és beállítás

Hozzon létre egy indexet abban a mappában, ahol a kereshető adatokat tárolni szeretné:

import com.groupdocs.search.*;

public class CreateIndex {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SearchByChunks";
        // Creating an index in the specified folder
        Index index = new Index(indexFolder);
    }
}

Hogyan adjunk dokumentumokat az indexhez

Most, hogy az index létezik, a következő logikus lépés a dokumentumok hozzáadása az indexhez azokból a helyekből, ahol a fájljai tárolva vannak.

1. Index létrehozása

Áttekintés: Hozzon létre egy könyvtárat a keresési index számára.

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SearchByChunks";
Index index = new Index(indexFolder);

2. Dokumentumok hozzáadása az indexhez

Áttekintés: Hozza be a fájlokat több forrásmappából.

String documentsFolder1 = "YOUR_DOCUMENT_DIRECTORY";
String documentsFolder2 = "YOUR_DOCUMENT_DIRECTORY";
String documentsFolder3 = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder1);
index.add(documentsFolder2);
index.add(documentsFolder3);

3. Keresési beállítások konfigurálása tömbkereséshez

Engedélyezze a tömb‑alapú keresést az opciós objektum finomhangolásával.

SearchOptions options = new SearchOptions();
options.setChunkSearch(true);

4. Kezdeti tömbalapú keresés végrehajtása

Futtassa az első lekérdezést a tömb‑engedélyezett beállításokkal.

String query = "invitation";
SearchResult result = index.search(query, options);

5. Tömbalapú keresés folytatása

Iteráljon a maradék tömbökön, amíg a keresés be nem fejeződik.

while (result.getNextChunkSearchToken() != null) {
    result = index.searchNext(result.getNextChunkSearchToken());
}

Miért használjunk tömbalapú keresést?

A tömb‑alapú keresés hatalmas dokumentumgyűjteményeket bont kisebb, kezelhető darabokra, csökkentve a memória nyomást és felgyorsítva a válaszidőket. Különösen előnyös, ha:

  1. Jogi csapatoknak kell konkrét záradékokat megtalálniuk több ezer szerződésben.
  2. Ügyféltámogatási portáloknak kell azonnal releváns tudásbázis‑cikkeket megjeleníteniük.
  3. Kutatóknak kell átfésülniük kiterjedt adatbázisokat anélkül, hogy az egész fájlokat betöltenék a memóriába.

Hogyan növeli a keresési teljesítményt ez a megközelítés

Kisebb darabok keresésével a teljes fájlok helyett a motor:

  • Korán kihagyja a nem releváns szakaszokat, csökkentve a CPU‑ciklusokat.
  • Csak az aktív tömböt tartja memóriában, ami közvetlenül csökkenti a java search index memory fogyasztást.
  • Többmagos gépeken párhuzamosan dolgozik a tömbök feldolgozásán, gyorsabb eredményeket érve el.

java search index memory kezelése

Miközben a tömb‑alapú keresés már csökkenti a memória lábnyomát, a JVM további finomhangolása is lehetséges:

  • Allokáljon elegendő halmot (-Xmx2g vagy nagyobb) az index mérete alapján.
  • Hívja meg az index.optimize() metódust tömeges hozzáadások után az index struktúra tömörítéséhez.
  • Figyelje a GC‑szüneteket olyan eszközökkel, mint a VisualVM, hogy elkerülje a késleltetési csúcsokat.

Teljesítményfontosságú megfontolások

  • Memóriakezelés – Allokáljon elegendő heap‑területet (-Xmx) nagy indexekhez.
  • Erőforrás‑monitorozás – Tartsa szemmel a CPU‑használatot az indexelés és keresés során.
  • Index karbantartás – Időnként építse újra vagy tisztítsa meg az indexet, hogy elhagyott adatokat eltávolítsa.

Gyakori buktatók és hibaelhárítás

ProblémaMiért fordul előMegoldás
OutOfMemoryError indexelés közbenA heap mérete túl alacsonyNövelje a JVM heap‑et (-Xmx2g vagy nagyobb)
Nincs eredményA tömb token nem lett feldolgozvaGyőződjön meg róla, hogy a while ciklus addig fut, amíg a getNextChunkSearchToken() null értéket ad
Lassú keresési teljesítményAz index nincs optimalizálvaFuttassa az index.optimize() metódust tömeges hozzáadások után

Gyakran Ismételt Kérdések

Q: Mi az a tömb‑alapú keresés?
A: A tömb‑alapú keresés a teljes adatállományt kisebb darabokra bontja, lehetővé téve a hatékony lekérdezéseket nagy mennyiségű adat esetén anélkül, hogy az egész dokumentumokat betöltené a memóriába.

Q: Hogyan frissíthetem az indexet új fájlokkal?
A: Egyszerűen hívja meg az index.add() metódust az új dokumentumok elérési útjával; az index automatikusan beépíti őket.

Q: Kezelni tudja a GroupDocs.Search a különböző fájlformátumokat?
A: Igen, támogatja a PDF‑eket, DOCX‑et, XLSX‑et, PPTX‑et és számos más gyakori formátumot.

Q: Mik a tipikus teljesítménybottleneckek?
A: A memória korlátok és a nem optimalizált indexek a leggyakoribbak; biztosítson elegendő heap‑et és rendszeresen optimalizálja az indexet.

Q: Hol találok részletesebb dokumentációt?
A: Látogasson el a hivatalos GroupDocs.Search Documentation oldalra, ahol alapos útmutatók és API‑referenciák állnak rendelkezésre.

Q: Működik a tömb‑alapú keresés titkosított PDF‑ekkel?
A: Igen, amennyiben a megfelelő API‑overload segítségével megadja a jelszót.

Q: Hogyan figyelhetem az indexelés előrehaladását?
A: Használja az Index.add() overload‑ját, amely egy Progress objektumot ad vissza, vagy kapcsoljon be naplózási visszahívásokat.

Erőforrások


Last Updated: 2026-02-21
Tested With: GroupDocs.Search 25.4 for Java
Author: GroupDocs