Boolean operátorok Java – keresési index létrehozása és facettált keresés

Egy erőteljes search experience megvalósítása Java-ban ijesztőnek tűnhet, különösen, ha create a search index Java-t kell létrehozni, amely támogatja a boolean operators Java-t a facettált és összetett lekérdezésekhez. Ebben az oktatóanyagban végigvezetjük a GroupDocs.Search for Java beállítását, egy index felépítését, dokumentumok hozzáadását, valamint egyszerű facettált keresések és kifinomult többkritériumos lekérdezések megalkotását, amelyek Boolean logikát használnak. A végére megérted, hogyan lehet kihasználni a content search Java, filename search Java, és még a update index Java műveleteket is az adatok frissességének biztosításához.

Gyors válaszok

  • Mi az a facettált keresés? Egy mód a találatok szűrésére előre meghatározott kategóriák, például fájltípus vagy dátum szerint.
  • Hogyan hozhatok létre egy search index Java‑t? Inicializálj egy Index objektumot, amely egy mappára mutat, és adj hozzá dokumentumokat.
  • Kombinálhatok több feltételt Boolean operátorokkal? Igen—használj objektumalapú lekérdezéseket vagy Boolean operátorokat egy szöveges lekérdezésben.
  • Szükségem van licencre? Egy ingyenes próba működik fejlesztéshez; egy kereskedelmi licenc eltávolítja a korlátokat.
  • Melyik IDE a legjobb? Bármely Java IDE (IntelliJ IDEA, Eclipse, NetBeans) megfelelő.

Mi az a “create search index java”?

A search index Java létrehozása egy lemez‑alapú struktúra felépítését jelenti, amely tárolja a dokumentum szövegét és metaadatait, lehetővé téve a megfelelő dokumentumok azonnali lekérdezésen keresztüli visszakeresését. Az index a kifejezéseket dokumentumazonosítókhoz rendeli, gyors keresést támogat, és fokozatosan frissíthető a fájlok változása esetén, ezáltal biztosítva az erőteljes keresési funkciók alapját.

Miért használjuk a GroupDocs.Search‑t facettált és összetett lekérdezésekhez?

A GroupDocs.Search for Java beépített facettálást, Boolean lekérdezés támogatást és nagy teljesítményű indexelést biztosít, amely akár 10 millió dokumentumot is képes kezelni, miközben a lekérdezési késleltetés tipikus szerver hardveren 200 ms alatt marad. Kész mezőszűrőket, gazdag lekérdezési nyelvet és tisztán Java kompatibilitást kínál, így ideális vállalati szintű keresési forgatókönyvekhez.

Előfeltételek

  • JDK 8 vagy újabb telepítve és konfigurálva az IDE-ben.
  • Maven (vagy Gradle) a függőségkezeléshez.
  • GroupDocs.Search for Java ≥ 25.4.
  • Alapvető ismeretek a Java OOP koncepciókról és a Maven projekt struktúrájáról.

A GroupDocs.Search for Java beállítása

Maven beállítás

Adja hozzá a tárolót és a függőséget a pom.xml fájlhoz:

<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 hivatalos kiadási oldalról:
GroupDocs.Search for Java releases

Licenc beszerzése

A teljes funkcionalitás feloldásához:

  1. Free trial – tökéletes fejlesztéshez és teszteléshez.
  2. Temporary evaluation license – meghosszabbítja a próbaidő korlátait.
  3. Commercial license – eltávolítja az összes korlátozást a termelésben való használathoz.

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

Az Index osztály a fő komponens, amely egy lemezen tárolt kereshető indexet képvisel. Az alábbi kódrészlet megmutatja, hogyan lehet create a search index Java-t létrehozni az Index osztály példányosításával:

import com.groupdocs.search.Index;

public class SearchSetup {
    public static void main(String[] args) {
        String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Searching/FacetedSearch/SimpleFacetedSearch";
        
        // Create an instance of Index – this creates the on‑disk index
        Index index = new Index(indexFolder);
        
        System.out.println("GroupDocs.Search initialized successfully!");
    }
}

Az index készen áll, így továbbléphetünk a valóságos facettált és összetett lekérdezésekre.

Hogyan használjuk a boolean operators java – Egyszerű facettált keresés

Töltse be az indexet, adjon hozzá dokumentumokat, és indítson mező lekérdezést; a kétlépéses minta lehetővé teszi a facett számok és a szűrt eredmények egyetlen hívásban történő lekérését. Ez a megközelítés intuitív módot biztosít a felhasználóknak az eredmények szűkítésére kategóriák, például fájltípus, szerző vagy egyedi metaadatok szerint.

1. lépés: Index létrehozása

Először mutassa a Index-et egy mappára, ahol az index fájlok tárolódnak.

import com.groupdocs.search.Index;

String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Searching/FacetedSearch/SimpleFacetedSearch";
Index index = new Index(indexFolder);

2. lépés: Dokumentumok hozzáadása az indexhez

Adja meg a GroupDocs.Search-nek, hol találhatók a forrásdokumentumok. Minden támogatott fájltípus (PDF, DOCX, TXT stb.) automatikusan indexelésre kerül.

import com.groupdocs.search.Index;

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

// Adding documents to the index
index.add(documentsFolder);

3. lépés: Keresés a content mezőben szöveges lekérdezéssel

Egy gyors szöveges lekérdezés a content mező szerint szűr. A content: Pellentesque szintaxis csak azokat a dokumentumokat adja vissza, amelyek a szövegtestben tartalmazzák a Pellentesque szót.

import com.groupdocs.search.results.SearchResult;

String query1 = "content: Pellentesque";
SearchResult result1 = index.search(query1);

// Output search results
System.out.println("Documents found (query 1): " + result1.getDocumentCount());

4. lépés: Keresés objektum lekérdezéssel

Az objektumalapú lekérdezések finomhangolt vezérlést biztosítanak. Itt egy szó lekérdezést építünk, mező lekérdezésbe csomagoljuk, és végrehajtjuk.

import com.groupdocs.search.SearchQuery;
import com.groupdocs.search.options.CommonFieldNames;

SearchQuery wordQuery = SearchQuery.createWordQuery("Pellentesque");
SearchQuery fieldQuery = SearchQuery.createFieldQuery(CommonFieldNames.Content, wordQuery);
SearchResult result2 = index.search(fieldQuery);

// Output search results
System.out.println("Documents found (query 2): " + result2.getDocumentCount());

Hogyan használjuk a boolean operators java – Összetett lekérdezés keresés

Összetett lekérdezés végrehajtásához kombináljon több mezőfeltételt AND/OR/NOT operátorokkal, és opcionálisan vegyen fel kifejezés kereséseket. Minden feltételt mező lekérdezésekkel adhat meg, beágyazhatja őket Boolean operátorokkal, és a relevanciát boost-olással szabályozhatja, így csak a legrelevánsabb dokumentumokat kapja, amelyek minden szükséges kritériumnak megfelelnek.

1. lépés: Index létrehozása összetett lekérdezésekhez

Használja újra ugyanazt a mappaszerkezetet; az indexet megoszthatja egyszerű és összetett forgatókönyvek között.

String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Searching/FacetedSearch/ComplexQuery";
Index index = new Index(indexFolder);
index.add(documentsFolder);

2. lépés: Keresés szöveges lekérdezéssel

A következő lekérdezés olyan fájlokat keres, amelyek neve lorem és ipsum vagy a tartalom tartalmazza a két pontos kifejezést.

import com.groupdocs.search.results.SearchResult;

String query1 = "(filename: (lorem AND ipsum)) OR (content: (\"lectus eu aliquam\" OR \"dignissim turpis\"))";
SearchResult result1 = index.search(query1);

// Output search results
class SearchResult {
    public int getDocumentCount() {
        // Implementation here
        return 0; // Placeholder
    }
}
System.out.println("Documents found (complex text query): " + result1.getDocumentCount());

3. lépés: Keresés objektum lekérdezéssel

Az objektumalapú felépítés tükrözi a szöveges lekérdezést, de típusbiztonságot és IDE támogatást nyújt.

import com.groupdocs.search.SearchQuery;

SearchQuery word6Query = SearchQuery.createWordQuery("lorem");
SearchQuery word7Query = SearchQuery.createWordQuery("ipsum");

// Constructing AND, OR queries for filename field
SearchQuery andQuery = SearchQuery.createAndQuery(word6Query, word7Query);
SearchQuery filenameQuery = SearchQuery.createFieldQuery(CommonFieldNames.FileName, andQuery);

// Content search using OR query with phrases
SearchQuery phrase1Query = SearchQuery.createPhraseSearchQuery("lectus", "eu", "aliquam");
SearchQuery phrase2Query = SearchQuery.createPhraseSearchQuery("dignissim", "turpis");

SearchQuery contentQuery = SearchQuery.createFieldQuery(CommonFieldNames.Content, 
    SearchQuery.createOrQuery(phrase1Query, phrase2Query));

// Final root query combining filename and content queries
SearchQuery rootQuery = SearchQuery.createOrQuery(filenameQuery, contentQuery);
SearchResult result2 = index.search(rootQuery);

// Output search results
System.out.println("Documents found (complex object query): " + result2.getDocumentCount());

A facettált és összetett keresések gyakorlati alkalmazásai

SzenárióHogyan segít a facettálásPélda lekérdezés
E‑commerce catalogSzűrés kategória, ár, márka szerintcategory: Electronics AND price:[100 TO 500]
Legal document repositorySzűrés ügyiratszám, joghatóság szerintcaseNumber: 2023-045 AND jurisdiction: "California"
Research archivesKombinálja a szerzőt, kiadási évet, kulcsszavakat(author: "Doe") AND (year: 2022) AND (keywords: "machine learning")
Enterprise intranetKeresés fájltípus és részleg szerintfiletype: pdf AND department: HR

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

A SearchResult objektum tartalmazza a lekérdezésnek megfelelő dokumentumokat, és hozzáférést biztosít a relevancia pontszámokhoz és a kiemelt részletekhez.
A CommonFieldNames osztály definiálja a szabványos mezőneveket, például a Content és FileName-t, amelyeket az API mindenhol használ.

  • Üres eredmények – Ellenőrizze, hogy a dokumentumok sikeresen hozzá lettek-e adva (index.getDocumentCount() segíthet).
  • Elavult index – Fájlok hozzáadása vagy eltávolítása után hívja meg a index.update()-t a update index java frissítéséhez, és tartsa az indexet szinkronban.
  • Helytelen mezőnevek – Használja a CommonFieldNames konstansokat (Content, FileName, stb.) a helyesírási hibák elkerülése érdekében.
  • Teljesítménybeli szűk keresztmetszetek – Nagy gyűjtemények esetén fontolja meg a index.setCacheSize() engedélyezését vagy egy dedikált SSD használatát az index mappához.
  • Hiányzó kiemelések – A highlight search results java funkcióhoz szerezze be a megtalált részleteket a SearchResult.getFragments() segítségével (itt nem látható, de elérhető az API-ban).

Gyakran feltett kérdések

K: Használhatom a GroupDocs.Search‑t Spring Boot‑tal?
A: Természetesen. Adja hozzá a Maven függőséget, konfigurálja az indexet Spring bean‑ként, és injektálja bárhol, ahol keresési képességre van szükség.

K: Támogatja a könyvtár az egyedi metaadatmezőket?
A: Igen – a indexelés során hozzáadhat felhasználó által definiált mezőket, majd facettálhat rajtuk.

K: Mekkora lehet az index mérete?
A: A lemez‑alapú index akár 10 millió dokumentumot is kezel; csak biztosítsa a megfelelő tárolókapacitást és figyelje a gyorsítótár beállításait.

K: Van mód a találatok relevancia szerinti rangsorolására?
A: A GroupDocs.Search automatikusan pontszámot ad a találatoknak; a pontszámot a SearchResult.getDocument(i).getScore() segítségével kérheti le.

K: Mi történik, ha titkosított PDF‑eket indexelek?
A: Adja meg a jelszót a dokumentum hozzáadása során: index.add(filePath, password).

Következtetés

Eddig már kényelmesen kellene tudnia create a search index Java-t használni a GroupDocs.Search‑szal, dokumentumok hozzáadását, valamint egyszerű facettált lekérdezések és kifinomult Boolean keresések megalkotását a boolean operators java segítségével. Ezek a képességek lehetővé teszik, hogy gyors, pontos és felhasználóbarát keresési élményeket nyújtson széles körű alkalmazásokban – az e‑commerce platformoktól a vállalati tudásbázisokig.

Készen áll a következő lépésre? Fedezze fel a GroupDocs.Search fejlett funkcióit, mint a highlighting, suggestions, és a real‑time indexing, hogy tovább növelje alkalmazása keresési teljesítményét.


Legutóbb frissítve: 2026-08-26
Tesztelve: GroupDocs.Search 25.4 for Java
Szerző: GroupDocs

Kapcsolódó oktatóanyagok