Szingularis és többes számú alakok generálása Java-ban a GroupDocs.Search segítségével

Ha szingularis és többes számú alakokat kell generálni Java-ban, egy egyedi szóalak‑szolgáltató a kulcs ahhoz, hogy a kereső- vagy szövegelemző motorod megértse egy kifejezés minden változatát. Ebben az útmutatóban végigvezetünk egy ilyen szolgáltató felépítésén a GroupDocs.Search Java API-val, így az alkalmazásod automatikusan egyezni fog a „cat”, „cats”, „city” és „citis” szavakkal extra erőfeszítés nélkül.

Gyors válaszok

  • Mit csinál egy szóalak‑szolgáltató? Alternatív alakokat (szingularis, többes szám, stb.) generál egy adott szóból, hogy a keresések minden változatot megtalálhassanak.
  • Melyik könyvtár szükséges? GroupDocs.Search for Java (25.4 vagy újabb verzió).
  • Szükségem van licencre? Egy ingyenes próba a kiértékeléshez elegendő; a termeléshez állandó licenc szükséges.
  • Melyik Java verzió támogatott? JDK 8 vagy újabb.
  • Hány sor kódra van szükség? Körülbelül 30 sor egy egyszerű szolgáltató implementációhoz.

Mi az a „Create Word Forms Provider” funkció?

A create word forms provider komponens egy egyedi osztály, amely megvalósítja az IWordFormsProvider interfészt. Egy szót kap bemenetként, és egy tömböt ad vissza a lehetséges alakokról – szingularis, többes szám vagy egyéb nyelvi variációk – a általad definiált szabályok alapján. Ez lehetővé teszi, hogy a keresőindex a „cat” és a „cats” szavakat ekvivalensnek tekintse, ezáltal növelve a találati lefedettséget a pontosság rovására nem menve.

Miért használjuk a GroupDocs.Search‑t szóalak‑generáláshoz?

  • Beépített kiterjeszthetőség: Csatold a saját szolgáltatódat közvetlenül az indexelési csővezetékhez.
  • Teljesítmény‑optimalizált: Nagy indexeket hatékonyan kezel, és az eredményeket gyorsabbá teheted a gyorsítótárazással.
  • Kereszt‑nyelvi támogatás: A koncepciók .NET-re és más platformokra is alkalmazhatók.

Előfeltételek

Mielőtt megvalósítanád a create word forms provider-t, győződj meg róla, hogy rendelkezel a következőkkel:

  • Maven telepítve, és JDK 8 vagy újabb a gépeden.
  • Alapvető ismeretekkel a Java fejlesztésről és a Maven pom.xml konfigurációjáról.
  • Hozzáférés a GroupDocs.Search Java könyvtárhoz (25.4 vagy újabb verzió).

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

Maven konfiguráció

Add the repository and dependency to your pom.xml file exactly as shown below:

<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ív megoldásként töltsd le a legújabb JAR-t a hivatalos kiadási oldalról: GroupDocs.Search for Java releases.

Licenc beszerzési lépések

  1. Ingyenes próba: Regisztrálj egy próbaverzióra a fő funkciók felfedezéséhez.
  2. Ideiglenes licenc: Kérj egy ideiglenes kulcsot a kiterjesztett teszteléshez.
  3. Vásárlás: Szerezz be egy kereskedelmi licencet a korlátlan termelési használathoz.

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

Az alábbi kódrészlet bemutatja, hogyan hozhatsz létre egy indexet – a kiindulópontot a dokumentumok és szóalak‑logika hozzáadásához:

import com.groupdocs.search.*;

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

Implementációs útmutató

Az alábbiakban végigvezetünk a lépéseken, hogy create word forms provider-t hozzunk létre, amely egyszerű szingularis‑többes és többes‑szingularis átalakításokat kezel.

A SimpleWordFormsProvider implementálása

Áttekintés

Az egyedi szolgáltatónk a következőket fogja:

  • Levágja a végződő „es” vagy „s” betűket a szingularis forma kitalálásához.
  • A végződő „y” betűt „is”‑re cseréli a többes számú forma előállításához (pl. „city” → „citis”).
  • Hozzáfűzi az „s” és „es” végződéseket az alap többes számú jelöltek generálásához.

1. lépés – Az osztály vázának létrehozása

Kezdd egy olyan osztály definiálásával, amely megvalósítja az IWordFormsProvider‑t. Hagyd változatlanul az importálásokat:

import com.groupdocs.search.dictionaries.IWordFormsProvider;
import java.util.ArrayList;

public class SimpleWordFormsProvider implements IWordFormsProvider {

2. lépés – A getWordForms implementálása

Add the method that builds the list of possible forms. This block contains the core logic; you can extend it later to cover more complex rules.

    @Override
    public final String[] getWordForms(String word) {
        // Initialize a list to store generated word forms
        ArrayList<String> result = new ArrayList<>();

        // Singular form for words ending in 'es'
        if (word.length() > 2 && word.toLowerCase().endsWith("es")) {
            result.add(word.substring(0, word.length() - 2));
        }

        // Singular form for words ending in 's'
        if (word.length() > 1 && word.toLowerCase().endsWith("s")) {
            result.add(word.substring(0, word.length() - 1));
        }

        // Plural form by replacing 'y' with 'is'
        if (word.length() > 1 && word.toLowerCase().endsWith("y")) {
            result.add(word.substring(0, word.length() - 1).concat("is"));
        }

        // Basic plural forms
        result.add(word.concat("s"));
        result.add(word.concat("es"));

        // Convert list to array and return
        return result.toArray(new String[0]);
    }
}

A logika magyarázata

  • Szingularizálás: Felismeri a gyakori többes számú végződéseket (es, s) és eltávolítja őket a szótő közelítéséhez.
  • Többes szám: A y‑ra végződő főneveket is‑re cseréli, egy egyszerű szabály, amely sok angol szó esetén működik.
  • Végződés hozzáadása: Hozzáadja az s és es végződéseket a szabályos többes számú formák lefedéséhez, amelyeket az előző ellenőrzések esetleg nem ragadnak meg.

Hibaelhárítási tippek

  • Kis- és nagybetű érzékenység: A metódus a toLowerCase()‑t használja az összehasonlításhoz, biztosítva, hogy a „Cats” és a „cats” ugyanúgy viselkedjen.
  • Szélsőséges esetek: A szuffixum hosszánál rövidebb szavakat figyelmen kívül hagyja, hogy elkerülje az üres karakterláncok visszaadását.
  • Teljesítmény: Nagy szókészletek esetén fontold meg az eredmények gyorsítótárazását egy ConcurrentHashMap‑ben.

Gyakorlati alkalmazások

Egy create word forms provider implementálása több valós helyzetben is növelheti a hatékonyságot:

  1. Keresőmotorok: A „mouse” beíró felhasználók számára is meg kell jelenjenek a „mice” szót tartalmazó dokumentumok. Egy szolgáltató képes generálni ilyen rendhagyó alakokat.
  2. Szövegelemző eszközök: A sentiment vagy entitás kinyerés megbízhatóbbá válik, ha minden szóvariáns fel van ismerve.
  3. Tartalomkezelő rendszerek: Az automatikus címke generálás tartalmazhat többes számú szinonimákat, javítva az SEO‑t és a belső linkelést.

Teljesítménybeli megfontolások

Amikor a szolgáltatót egy termelési rendszerbe ágyazod, tartsd szem előtt ezeket a tippeket:

  • Gyakran használt alakok gyorsítótárazása: Tárold az eredményeket memóriában, hogy elkerüld ugyanazon szó újbóli kiszámítását.
  • JVM heap figyelése: Nagy indexek növelhetik a memória nyomását; ennek megfelelően állítsd be a -Xmx‑et.
  • Hatékony gyűjtemények használata: Az ArrayList kis halmazokra megfelelő, de több ezer alak esetén érdemes a HashSet‑et használni a duplikátumok gyors eltávolításához.

Legjobb gyakorlatok

  • Tartsd a könyvtárat naprakészen, hogy élvezhesd a teljesítményjavító javításokat.
  • Profilozd a szolgáltatót valós lekérdezési terheléssel, hogy időben felismerd a szűk keresztmetszeteket.

Következtetés

Most már megtanultad, hogyan generálj szingularis és többes számú alakokat Java-ban egy egyedi SimpleWordFormsProvider segítségével a GroupDocs.Search használatával. Ez a könnyű komponens drámaian javíthatja a keresési eredmények relevanciáját és a nyelvi elemzés pontosságát számos alkalmazásban.

Következő lépések:

  • Kísérletezz összetettebb nyelvi szabályokkal (rendhagyó többes számok, szótövezés).
  • Integráld a szolgáltatót egy indexelési csővezetékbe, és mérd a visszahívási javulást.
  • Fedezd fel a GroupDocs.Search további funkcióit, mint a szinonima szótárak és egyedi elemzők.

Cselekvésre felhívás: Próbáld meg ma hozzáadni a SimpleWordFormsProvider‑t a saját projektedhez, és nézd meg, hogyan gazdagítja a keresési élményt!

GyIK szekció

1. Mi a GroupDocs.Search for Java?
Ez egy erőteljes könyvtár, amely teljes szöveges keresést, indexelést és nyelvi funkciókat kínál – beleértve az egyedi szóalak‑szolgáltatók csatlakoztatásának lehetőségét.

2. Hogyan működik a SimpleWordFormsProvider?
Egyszerű végződés‑alapú szabályok alkalmazásával generál alternatív alakokat (eltávolítja az „s/es” végződést, a „y” betűt „is”‑re cseréli, és hozzáfűzi az „s/es” végződéseket).

3. Testreszabhatom a szóalak‑generálási szabályokat?
Természetesen. Módosítsd a getWordForms metódust, hogy tartalmazzon rendhagyó alakokat, helyspecifikus szabályokat vagy külső szótárakkal való integrációt.

4. Milyen gyakori alkalmazások vannak erre a funkcióra?
A keresőmotorok, szövegelemző csővezetékek és CMS platformok profitálnak a szingularis/többes számú változatok felismeréséből.

5. Szükségem van kereskedelmi licencre a termelési használathoz?
Igen – míg a próba lehetővé teszi az API felfedezését, egy megvásárolt licenc eltávolítja a használati korlátokat és támogatást biztosít.


Utolsó frissítés: 2026-02-21
Tesztelve: GroupDocs.Search 25.4 (Java)
Szerző: GroupDocs