Kiemelt keresési eredmények Java a GroupDocs.Search használatával

Ha már belefáradtál a végtelen dokumentumok kézi átvizsgálásába, a highlight search results java gyors és megbízható módot kínál arra, hogy pontosan azt kapd, amire szükséged van. Ebben az útmutatóban végigvezetünk a elosztott keresési hálózat beállításán, a fájlok indexelésén, a lekérdezések futtatásán, és végül a találatok dokumentumon belüli kiemelésén. A végére egy termelésre kész megoldást kapsz, amely több csomóponton is skálázható, és azonnal kiemeli a releváns kifejezéseket.

Gyors válaszok

  • Mi jelent a “highlight search results java”? Ez a Java könyvtárak, például a GroupDocs.Search használata során a megtalált kulcsszavak programozott jelölésére utal a dokumentumokban.
  • Kiemelhetek több kifejezést ugyanabban a dokumentumban? Igen – használja a HighlightOptions‑t, hogy meghatározza, hány kifejezést jelenítsen meg a találat előtt és után.
  • Szükségem van licencre a példa futtatásához? Egy ingyenes próba vagy ideiglenes licenc elegendő a teszteléshez; a termeléshez teljes licenc szükséges.
  • Melyik Java verzió szükséges? Java 8 vagy újabb.
  • Ez a megközelítés alkalmas nagy dokumentumgyűjteményekhez? Teljes mértékben – a keresési hálózat az indexelést és a lekérdezési terhelést elosztja a csomópontok között.

Mi a Highlight Search Results Java?

Highlight search results java az a folyamat, amikor egy keresési lekérdezést felhasználva megtalálja a megfelelő szövegrészeket a dokumentumokban, és vizuálisan kiemeli ezeket a részeket (például jelölőkkel körülvéve vagy kiemelt szövegrészletként visszaadva). Ez megkönnyíti a végfelhasználók számára, hogy a teljes fájl megnyitása nélkül lássák a találat kontextusát.

Miért fontos a Highlight Search Results Java

A highlight search results java javítja a felhasználói élményt azáltal, hogy pontosan megmutatja, hol jelenik meg egy kifejezés, csökkenti az irreleváns fájlok megnyitásával töltött időt, és segíti a megfelelőségi csapatokat a bizalmas információk gyors megtalálásában. Elosztott keresési hálózattal kombinálva a megoldás reagálóképességét megőrzi akkor is, ha a dokumentumkorpuszmilliárdos nagyságúra nő.

Miért használjuk a GroupDocs.Search‑t a kiemeléshez?

A GroupDocs.Search egy kész, nagy teljesítményű motor, amely tucatnyi fájlformátumot támogat, elosztott indexelést és beépített szövegrészlet-kiemelőket biztosít. Eltávolítja a saját parszerek írásának vagy az alacsony szintű keresési infrastruktúra kezelésének szükségességét, így a fejlesztő a felhasználói élmény finomhangolására koncentrálhat.

Előfeltételek

  • Java Development Kit (JDK) 8+ – ellenőrizze, hogy a java -version 1.8 vagy újabb verziót mutat.
  • Maven – a függőségkezeléshez.
  • GroupDocs.Search for Java 25.4 – a jelen útmutatóban használt verzió.
  • Egy IDE, például IntelliJ IDEA vagy Eclipse (opcionális, de ajánlott).
  • Alapvető Java és hálózati ismeretek.

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

A könyvtárat a projektbe hozhatja Maven‑en keresztül vagy a JAR közvetlen letöltésével.

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

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

Licenc beszerzési lépések

  • Free Trial: Kezdje egy próbaidőszakkal, hogy felfedezze a fő funkciókat.
  • Temporary License: Szerezzen egy kiterjesztett tesztlicencet erről az oldalról: this page.
  • Purchase: Szerezzen teljes licencet a termelési környezethez.

Alap inicializálás és beállítás

Hozzon létre egy Index példányt, amely egy mappára mutat, ahol a keresési index tárolódik:

import com.groupdocs.search.*;

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

Implementációs útmutató

Hogyan kiemeljük a keresési eredményeket Java‑ban egy elosztott hálózatban

A keresési hálózat konfigurálása

Először határozza meg, hol találhatók a dokumentumok, és melyik portot használja a hálózat.

import com.groupdocs.search.common.*;
import com.groupdocs.search.scaling.configuring.*;

String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/HighlightingResultsInNetwork/";
int basePort = 49116; // Change if port is busy

Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
  • basePath – a gyökérmappa, amely a indexelni kívánt fájlokat tartalmazza.
  • basePort – a TCP‑port a csomópontok közötti kommunikációhoz; válasszon egy szabad portot.

Keresési hálózati csomópontok telepítése

A konfiguráció alapján telepítsen egy vagy több csomópontot. Az első csomópont lesz a master.

import com.groupdocs.search.scaling.*;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0];
  • nodes – egy tömb, amely az összes futó csomópontot tartalmazza.
  • masterNode – koordinálja az indexelést és a lekérdezés elosztását.

Keresési hálózati csomópont eseményekre való feliratkozás

Csatoljon hallgatókat a master csomóponthoz, hogy valós‑időben értesítéseket kapjon (például amikor az indexelés befejeződik).

import com.groupdocs.search.scaling.events.*;

SearchNetworkNodeEvents.subscribe(masterNode);

Könyvtárak indexelése hálózati csomópontban

Mutassa meg a csomópontnak, melyik mappákat szeretné indexelni. A segédosztály Utils.DocumentsPath a mintaadatok mappájára mutat.

import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.options.*;

IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);

Szöveg keresése a hálózati csomópontok között

Futtasson egy lekérdezést összes csomópontra, és szerezze be a megfelelő dokumentumokat.

import java.util.ArrayList;
import com.groupdocs.search.scaling.results.*;

ArrayList<NetworkFoundDocument> documents = TextSearchInNetwork.searchAll(masterNode, "ipsum", false);
highlightInDocument(masterNode, documents.get(0), 3); // Highlight results from the first found document.
  • Cserélje le a "ipsum"‑t a keresni kívánt kifejezésre.
  • A következő highlightInDocument metódus alkalmazza a kiemelést.

Több kifejezés kiemelése dokumentumban – Keresési eredmények kiemelése

Az alábbi metódus bemutatja, hogyan lehet a találatok körül szövegrészeket kiemelni. Emellett megmutatja, hogyan szabályozhatja a környező szavak számát, ezzel teljesítve a highlight multiple terms document másodlagos kulcsszót.

import com.groupdocs.search.highlighters.*;
import com.groupdocs.search.options.*;

public static void highlightInDocument(
    SearchNetworkNode node,
    NetworkFoundDocument document,
    int maxFragments) {
    
    Searcher searcher = node.getSearcher();
    FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.PlainText);

    HighlightOptions options = new HighlightOptions();
    options.setTermsAfter(5);
    options.setTermsBefore(5);
    options.setTermsTotal(15);

    searcher.highlight(document, highlighter, options); // Perform highlighting on the document.

    FragmentContainer[] result = highlighter.getResult();
    for (FragmentContainer container : result) {
        if (container.getCount() == 0) continue;

        String[] fragments = container.getFragments();
        int count = Math.min(fragments.length, maxFragments);
        for (int j = 0; j < count; j++) {
            // Print each fragment within the specified limit.
        }
    }
}
  • OutputFormat.PlainText – egyszerű szöveges szakaszokat ad vissza; HTML‑re is válthat a gazdagabb UI‑hoz.
  • HighlightOptions – szabályozza, hány szó jelenik meg a találat előtt és után (setTermsBefore, setTermsAfter).
  • maxFragments – korlátozza, hogy dokumentumonként hány szövegrészletet jelenít meg.

Hálózati csomópontok leállítása

Amikor befejezte a munkát, állítsa le az összes csomópontot az erőforrások felszabadítása érdekében.

for (SearchNetworkNode node : nodes) {
    node.close();
}

Gyakorlati alkalmazások

  • Enterprise Document Management: Központosítsa a vállalati fájlokat, és lehetővé tegye a munkavállalók számára, hogy azonnal megtalálják a releváns szerződéseket vagy szabályzatokat.
  • Legal Case Files: Gyorsan hozza elő a precedens dokumentumokat a kulcsfontosságú jogi kifejezések kiemelésével.
  • R&D Knowledge Bases: A kutatók kereshetnek szabadalmakban vagy technikai cikkekben, és kiemelt kivonatokat láthatnak.
  • E‑commerce Catalogs: Lehetővé teszi a vásárlók számára, hogy kulcsszó alapján keressenek termékek között, a leírásokban kiemelve a találatokat.
  • Library Systems: A látogatók több ezer könyv között kereshetnek, és kiemelt szakaszokat tekinthetnek meg anélkül, hogy minden fájlt megnyitnának.

Teljesítmény szempontok

  • Tartsa frissen az indexeket: Éjszakánként indexelje újra a módosított fájlokat, vagy használjon inkrementális frissítéseket.
  • Használjon több csomópontot: Az indexelés és a lekérdezési terhelés elosztása elkerüli a szűk keresztmetszeteket.
  • Finomhangolja a HighlightOptions‑t: A termsBefore/After csökkentése alacsonyabb memóriahasználatot eredményez nagyon nagy dokumentumok esetén.

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

TünetValószínű okJavítás
No results returnedIndex not built or pointing to wrong folderVerify Utils.DocumentsPath and run IndexingDocuments.addDirectories again
Highlight output is emptyHighlightOptions limits too low or document encoding issueIncrease termsTotal or ensure the document’s encoding is supported
Port conflict errorbasePort already in useChoose a different port number (e.g., 49117)
License exceptionMissing or expired license filePlace a valid GroupDocs.Search.lic file in the application root

Gyakran feltett kérdések

Q: Deployálhatok több keresési hálózati csomópontot a terheléselosztáshoz?
A: Igen, több csomópont telepítése elosztja az indexelést és a lekérdezési munkát, ezáltal javítva a skálázhatóságot és a válaszidőt.

Q: Hogyan emelhetem ki több keresési kifejezést ugyanabban a dokumentumban?
A: Adjon át egy kifejezéslistát a highlight metódusnak, és állítsa be a HighlightOptions‑t, hogy minden találat körül megjelenjen a környező szavak.

Q: Lehetséges valós‑időben feliratkozni a keresési eseményekre?
A: Teljesen lehetséges. Használja a SearchNetworkNodeEvents.subscribe(masterNode)‑t, hogy visszahívásokat kapjon az indexelés előrehaladásáról, a lekérdezés végrehajtásáról és a hibákról.

Q: Mely fájlformátumokat támogat a GroupDocs.Search az indexeléshez és a kiemeléshez?
A: Több mint 50 formátumot, köztük DOCX, PDF, HTML, TXT, PPTX és még sok más.

Q: Hogyan javíthatom a keresés sebességét nagyon nagy gyűjtemények esetén?
A: Rendszeresen frissítse az indexeket, ossza el őket csomópontok között, és finomhangolja a HighlightOptions‑t a szövegrészlet méretének korlátozásához.


Legutóbb frissítve: 2026-03-17
Tesztelve ezzel: GroupDocs.Search for Java 25.4
Szerző: GroupDocs