Hogyan konfiguráljuk a GroupDocs Search Network-ot Java-ban

A mai gyorsan változó digitális környezetben a configure groupdocs search network készségek elengedhetetlenek minden szervezet számára, amelynek gyorsan és megbízhatóan kell keresnie milliók dokumentumaiban. Egy jól konfigurált keresőhálózat elosztja az indexelési és lekérdezési terhelést több JVM csomópont között, alacsony válaszidőt tart, és magas rendelkezésre állást garantál. Ez az útmutató minden lépésen végigvezet – a Maven beállítástól és licenc aktiválástól a csomópont telepítésig, eseményfeliratkozásig, dokumentum indexelésig és még képalapú keresésig – hogy egy termelésre kész GroupDocs.Search hálózatot építhessen Java-ban.

Gyors válaszok

  • Mi a keresőhálózat elsődleges célja? A indexelési és lekérdezési terhelés több csomópont között történő elosztása a jobb skálázhatóság és megbízhatóság érdekében.
  • Melyik portot használja alapértelmezés szerint a GroupDocs.Search? A példában a 49120 portot használja, de választhat bármely szabad portot.
  • Hozzáadhatok vagy eltávolíthatok csomópontokat leállás nélkül? Igen—a csomópontok dinamikusan telepíthetők vagy leállíthatók.
  • Szükségem van licencre a termeléshez? Teljes licenc szükséges a termeléshez; próbaverziók elérhetők értékeléshez.
  • Támogatott-e a képes keresés alapból? Igen— a GroupDocs.Search beépített képhash összehasonlítást biztosít.

Mi a keresőhálózat?

A SearchNetworkNode egy egyedi csomópont a klaszterben, amely a megosztott index egy másolatát tartja és keresési kéréseket dolgoz fel. A search network egy összekapcsolt SearchNetworkNode példányok gyűjteménye, amelyek megosztják az indexelési információkat és közösen válaszolnak a lekérdezésekre. Ez az architektúra lehetővé teszi hatalmas dokumentumgyűjtemények kezelését alacsony válaszidő mellett, és automatikus átváltást biztosít, ha egy csomópont offline áll.

Miért használjuk a GroupDocs.Search-ot Java-hoz?

Töltsd fel Java alkalmazásodat egy keresőmotorral, amely percek alatt configure groupdocs search network képes, vízszintesen skálázható, és több mint 30 fájlformátumot támogat — beleértve a PDF, DOCX, XLSX, PPTX és a gyakori képtípusokat. A benchmarkok azt mutatják, hogy egy háromcsomópontos klaszter 500 000 dokumentumot indexel 30 percnél kevesebb idő alatt standard szerverhardveren, miközben a lekérdezési késleltetés 200 ms alatt marad még nagy egyidejű terhelés esetén.

Előfeltételek

  • JDK 8+ telepítve minden gépen, amely csomópontot futtat.
  • Egy IDE, például IntelliJ IDEA vagy Eclipse, a könnyű projektkezeléshez.
  • Maven a függőségek feloldásához.
  • Alapvető Java hálózati ismeretek (TCP portok, tűzfalak) és több szálas koncepciók.

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

Add the GroupDocs repository and dependency to your pom.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>

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

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

Telepítés Maven segítségével

A fenti Maven kódrészlet automatikusan beilleszti a könyvtárat a projektbe.

Licenc beszerzése

  • Free Trial – fedezze fel a fő funkciókat hitelkártya nélkül.
  • Temporary License – meghosszabbított tesztelési időszak belső pilot projektekhez.
  • Full License – termelésre kész, korlátlan használat, és prioritásos támogatás.

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

A SearchNetworkDeployment osztály irányítja a keresőklaszter létrehozását és kezelését, a csomópontok életciklusát és a megosztott erőforrásokat. Mielőtt bármely csomóponttal interakcióba lépne, létre kell hoznia egy SearchNetworkDeployment objektumot, és egy megosztott index mappára kell mutatnia. Az alábbi kódrészlet (az eredeti útmutatóból megőrizve) a minimális indítást mutatja:

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Create an instance of Index with the path to store index data.
        String indexPath = "path/to/index";
        Index index = new Index(indexPath);
        
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

Implementációs útmutató

Most minden fő feladatba mélyedünk el, világos, lépésről‑lépésre magyarázatokkal, amelyek az eredeti kódtöredékek előtt állnak.

Hogyan telepítsünk csomópontokat egy keresőhálózatban

Több csomópont telepítése elosztja a terhelést és javítja a hibatűrést. Egy SearchNetworkNode egy egyedi JVM példányt képvisel, amely részt vesz a keresőklaszterben, indexelési és lekérdezési kéréseket kezel. Több csomópont indításával egymást követő portokon egy ellenálló hálózatot hoz létre, ahol minden csomópont kiszolgálhatja az ügyfélhívásokat és megoszthatja a közös indexet.

public class SearchNetworkDeployment {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Change if necessary.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);

        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
        
        System.out.println("Deployed " + nodes.length + " search network nodes.");
    }
}

Hogyan iratkozzunk fel eseményekre

Az eseményfeliratkozás valós idejű betekintést nyújt a csomópont állapotába, az indexelés előrehaladásába és a hibákba. A SearchNetworkEvents osztály egy sor visszahívást biztosít, amelyek jelentős műveletekhez, például az indexelés befejezéséhez, csomópont hibákhoz vagy egyéni értesítésekhez aktiválódnak. Hallgatók regisztrálása a master vagy worker csomópontokon valós idejű felügyeletet és automatizált válaszokat tesz lehetővé a hálózat zökkenőmentes működéséhez.

public class NodeEventSubscription {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Adjust if needed.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        SearchNetworkEvents.subscribe(nodes[0]);
        
        System.out.println("Subscribed to events for the master node.");
    }
}

Hogyan indexeljük a dokumentumokat

A hatékony indexelés a gyors keresési eredmények alapja. Amikor könyvtárakat ad a master csomóponthoz, a motor minden fájlt átvizsgál, kinyeri a kereshető tartalmat, és a megosztott index struktúrába tárolja. Ez a folyamat inkrementálisan futtatható, csak a módosított fájlokat frissíti, ami csökkenti az I/O terhelést és biztosítja, hogy a lekérdezések mindig a legújabb dokumentumverziókat tükrözzék.

public class DocumentIndexing {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Change if there is a conflict.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        IndexingDocuments.addDirectories(nodes[0], "YOUR_DOCUMENT_DIRECTORY");
        
        System.out.println("Added directories to master node's index.");
    }
}

Hogyan hajtsunk végre képes keresést

A GroupDocs.Search támogatja a képhash összehasonlítást, amely lehetővé teszi a vizuálisan hasonló elemek megtalálását. A SearchImage osztály egy képfájlt kapszuláz, és egy perceptuális hash-t számít ki, amely a tárolt hash-ekkel párosítható az indexben. A maximális hash különbség megadásával szabályozhatja a vizuális hasonlóság toleranciáját, megbízható felfedezést biztosítva a duplikált vagy kapcsolódó képek között a tárolóban.

public class ImageSearch {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Modify if needed.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        SearchImage searchImage = SearchImage.create("YOUR_DOCUMENT_DIRECTORY/ic_arrow_back_black_18dp.png");

        imageSearch(nodes[0], searchImage, 8);
    }
}

Hogyan konfiguráljuk a hálózati portokat

Ha a környezet már a 49120 portot használja, megváltoztathatja bármely szabad TCP portra. A basePort paraméter határozza meg a klaszter kezdőportszámát, és minden következő csomópont automatikusan növeli ezt az értéket. Győződjön meg róla, hogy a választott port nyitva van a tűzfalon, nincs más szolgáltatás által foglalt, és minden csomóponton konzisztensen van beállítva a zökkenőmentes kommunikáció érdekében.

int customPort = 50000; // Example of a custom port.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, customPort);

Gyakori problémák és hibaelhárítás

TünetValószínű okMegoldás
A csomópontok nem indulnak elPort ütközésVálasszon másik basePort értéket, és frissítse a tűzfal szabályokat.
Az indexelés lassúNem elegendő I/O sávszélességHasználjon SSD tárolót, és engedélyezze az inkrementális indexelést.
Az eseményfeliratkozás nem aktiválódikHiányzó eseménykezelő regisztrációGyőződjön meg arról, hogy a SearchNetworkEvents.subscribe(node) hívás megtörténik, mielőtt az indexelés elkezdődik.
A képes keresés nem ad eredménytA hash különbség túl alacsonyNövelje a megengedett hash különbséget (pl. 4‑ről 8‑ra).

Gyakran feltett kérdések

Q: Hogyan optimalizálhatom az indexelés teljesítményét egy GroupDocs.Search hálózatban?
A: Használjon inkrementális indexelést, tárolja az indexet gyors SSD-ken, és biztosítson elegendő heap memóriát a JVM-nek.

Q: Hozzáadhatok vagy eltávolíthatok csomópontokat a teljes keresőhálózat újraindítása nélkül?
A: Igen—a csomópontok dinamikusan telepíthetők vagy leállíthatók. Csomópont hozzáadása után hívja meg újra a SearchNetworkDeployment.deploy-ot a klaszter nézet frissítéséhez.

Q: Hogyan javítja az eseményfeliratkozás a hálózat kezelését?
A: A feliratkozott események valós idejű riasztásokat biztosítanak a csomópont állapotváltozásairól, az indexelés előrehaladásáról és a hibákról, lehetővé téve a proaktív hibaelhárítást.

Q: Lehet egyszerre több különböző dokumentumformátumban keresni?
A: Természetesen. A GroupDocs.Search támogatja a PDF-eket, Word, Excel, PowerPoint, képek és számos egyéb formátumot egyetlen lekérdezésben.

Q: Mennyire biztonságosak az adatok egy GroupDocs.Search hálózatban?
A: A biztonság az infrastruktúrától függ. Alkalmazzon SSL/TLS-t a csomópontok közötti kommunikációhoz, korlátozza a hálózati hozzáférést, és kövesse a legjobb adatvédelmi gyakorlatokat.


Utoljára frissítve: 2026-06-27
Tesztelve ezzel: GroupDocs.Search 25.4 for Java
Szerző: GroupDocs

Kapcsolódó oktatóanyagok