Make sure to keep markdown formatting.

Now produce final content.# Highlight Search Results Java – Szinkron és Aszinkron indexelés

Boost your Java applications by highlighting search results Java with the powerful GroupDocs.Search library. Whether you’re dealing with a few files or a massive repository, mastering both synchronous and asynchronous indexing lets you deliver fast, accurate results without blocking your application threads.

Gyors válaszok

  • Mit jelent a “highlight search results Java”? Ez a keresési eredményekben a megtalált kifejezések vizuális jelzéssel (pl. HTML <mark> címkék) való megjelenítését jelenti, hogy a felhasználók láthassák, hol fordul elő a lekérdezés az egyes dokumentumokban.
  • Mikor kell szinkron indexelést használni? Kis- és közepes méretű adatkészleteknél, ahol az újonnan hozzáadott dokumentumok azonnali elérhetősége szükséges.
  • Mikor előnyösebb az aszinkron indexelés? Nagy dokumentumgyűjtemények feldolgozásakor vagy UI szálon futtatáskor, ahol az alkalmazásnak reagálónak kell maradnia.
  • Szükségem van licencre? A fejlesztéshez ingyenes próba verzió is elegendő; egy teljes licenc feloldja a fejlett funkciókat és eltávolítja a használati korlátokat.
  • Melyik Java verzió támogatott? Java 8 vagy újabb.

Mi a “highlight search results Java”?

A keresési eredmények kiemelése Java-ban azt jelenti, hogy a GroupDocs.Search által visszaadott nyers találatokat HTML‑ben (vagy más jelölőnyelvben) körülvegyük, hogy a kifejezések kiemelkedjenek egy UI‑ban vagy weboldalon megjelenítve. Ez javítja a felhasználói élményt azzal, hogy azonnal megmutatja az egyes találatok környezetét.

Miért használjuk a GroupDocs.Search‑t Java‑hoz?

GroupDocs.Search provides a high‑performance, language‑agnostic engine that supports:

  • Valós idejű indexelés és keresés
  • Aszinkron feldolgozás nagy terhelés esetén
  • Beépített eredménykiemelés
  • Többnyelvű és egyedi elemző támogatás

These capabilities make it ideal for content management systems, e‑commerce catalogs, and enterprise document repositories.

Előfeltételek

Before you start, make sure you have:

  • Java Development Kit (JDK 8 vagy újabb) telepítve.
  • IDE, például IntelliJ IDEA vagy Eclipse.
  • Egy mappa, amely a indexelni kívánt dokumentumokat tartalmazza.
  • Maven a függőségek kezeléséhez (vagy a JAR‑t manuálisan letöltheted).

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

Add GroupDocs.Search to your Maven project:

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

For direct downloads, get the latest version from GroupDocs.Search for Java releases.

Környezet beállítása

  • Ellenőrizd, hogy a JAVA_HOME egy kompatibilis JDK‑ra mutat.
  • Hozz létre egy projektet az IDE‑ben, és add hozzá a fenti Maven konfigurációt.
  • Készíts egy könyvtárat (pl. documents/) mintaszövegekkel, PDF‑ vagy Word‑fájlokkal.

A GroupDocs.Search Java‑hoz történő beállítása

  1. Telepítsd a könyvtárat – Használd a fenti Maven kódrészletet vagy töltsd le a JAR‑t a GroupDocs oldalról.
  2. Szerezz licencet – Kezdd próba licenccel, majd frissíts, amikor éles környezetbe lépsz.
  3. Az index inicializálása – Az alábbi kódrészlet mutatja, hogyan hozhatsz létre (vagy nyithatsz meg) egy index mappát:
import com.groupdocs.search.Index;

// Create an index in the specified folder
Index index = new Index("path/to/index/folder");

A highlight search results Java – Szinkron indexelés

Synchronous indexing processes documents immediately, making newly added files searchable right away.

1. lépés: Az index létrehozása és hibakezelés csatolása

import com.groupdocs.search.*;
import com.groupdocs.search.events.*;
import java.nio.file.Paths;

public class SynchronousIndexingFeature {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY/SynchronousIndexing";
        String documentsFolder = YOUR_DOCUMENT_DIRECTORY; // Replace with actual directory path

        Index index = new Index(indexFolder);

        // Handle errors
        index.getEvents().ErrorOccurred.add(new EventHandler<IndexErrorEventArgs>() {
            @Override
            public void invoke(Object sender, IndexErrorEventArgs args) {
                System.out.println(args.getMessage());
            }
        });

2. lépés: Dokumentumok hozzáadása és keresés futtatása

        // Add documents
        index.add(documentsFolder);

        // Perform a search
        String query = "tincidunt";
        SearchResult result = index.search(query);

3. lépés: Eredmények feldolgozása és highlight search results Java

        for (int i = 0; i < result.getDocumentCount(); i++) {
            FoundDocument document = result.getFoundDocument(i);
            System.out.println(": Document: " + document.getDocumentInfo().getFilePath());
            System.out.println(": Occurrences: " + document.getOccurrenceCount());
        }

        // Highlight results
        if (result.getDocumentCount() > 0) {
            FoundDocument document = result.getFoundDocument(0);
            String path = YOUR_OUTPUT_DIRECTORY + "/Highlighted.html";
            OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, path);
            DocumentHighlighter highlighter = new DocumentHighlighter(outputAdapter);
            index.highlight(document, highlighter);
        }
    }
}

The DocumentHighlighter automatically wraps matched terms with <mark> tags (or any format you configure), giving you highlighted search results ready for display.

A highlight search results Java – Aszinkron indexelés

When dealing with thousands of files, blocking the main thread is undesirable. Asynchronous indexing lets the engine work in the background.

1. lépés: Az index beállítása eseményfigyelőkkel

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

public class AsynchronousIndexingFeature {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY/AsynchronousIndexing";
        String documentsFolder = YOUR_DOCUMENT_DIRECTORY; // Replace with actual directory path

        Index index = new Index(indexFolder);

        // Handle errors and status changes
        index.getEvents().ErrorOccurred.add(new EventHandler<IndexErrorEventArgs>() {
            @Override
            public void invoke(Object sender, IndexErrorEventArgs args) {
                System.out.println(args.getMessage());
            }
        });

        index.getEvents().StatusChanged.add(new EventHandler<BaseIndexEventArgs>() {
            @Override
            public void invoke(Object sender, BaseIndexEventArgs args) {
                if (args.getStatus() != IndexStatus.Ready || args.getStatus() == IndexStatus.Failed) {
                    System.out.println("Indexing completed.");
                }
            }
        });

2. lépés: Aszinkron mód engedélyezése és indexelés indítása

        // Set up async indexing options
        IndexingOptions options = new IndexingOptions();
        options.setAsync(true);

        // Add documents asynchronously
        index.add(documentsFolder, options);
    }
}

While the index is being built, your application can continue to serve other requests. Once the StatusChanged event reports Ready, you can safely run searches and obtain highlighted search results Java.

Hogyan index documents java – Gyakorlati tippek

  • Batch size: Nagy gyűjtemények esetén oszd fel a mappát kisebb kötegekre a memóriahullámok elkerülése érdekében.
  • File filters: Használd az IndexingOptions.setFileExtensions metódust, hogy csak a szükséges formátumokat (pl. .pdf, .docx) vedd fel.
  • Re‑indexing: Ha a dokumentumok változnak, hívd a index.update(documentPath) metódust a teljes index újraépítése helyett.

Teljesítménybeli megfontolások

  • Memory: Figyeld a heap használatát; növeld a -Xmx értéket, ha sok nagy fájlt dolgozol fel.
  • CPU: Az aszinkron indexelés elosztja a terhelést, de még mindig CPU‑t használ—figyeld a JVisualVM‑mel.
  • Result Highlighting: A kiemelés kis feldolgozási többletet jelent; ha többször kell megjeleníteni az eredményeket, cache-eld a generált HTML‑t.

Gyakran ismételt kérdések

Kérdés: Kombinálhatom a szinkron és aszinkron indexelést ugyanabban az alkalmazásban?
Válasz: Igen. Használj szinkron indexelést kis, gyakran frissített készletekhez és aszinkron indexelést tömeges importokhoz vagy háttérfeladatokhoz.

Kérdés: Hogyan testreszabhatom a kiemelés stílusát?
Válasz: Adj meg egy egyedi DocumentHighlighter implementációt, amely a kívánt HTML‑t, CSS‑t vagy XML‑címkéket írja a megtalált kifejezések köré.

Kérdés: Milyen fájltípusokat támogat a GroupDocs.Search alapból?
Válasz: Szöveg, PDF, DOC/DOCX, XLS/XLSX, PPT/PPTX, HTML, és még sok más a beépített parser‑ek révén.

Kérdés: Lehetséges egyszerre több nyelven keresni?
Válasz: Természetesen. A GroupDocs.Search tartalmaz többnyelvű elemzőket; csak állítsd be a megfelelő Analyzer‑t az index létrehozásakor.

Kérdés: Hogyan biztosíthatom az index mappát?
Válasz: Tedd az indexet védett könyvtárba, állíts be megfelelő fájlrendszer jogosultságokat, és fontold meg az index titkosítását a könyvtár biztonsági funkcióival.


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