Vytvořte Boolean dotaz v Javě: Ovládněte Boolean vyhledávání s GroupDocs.Search pro Javu

Prohledávání obrovských kolekcí dokumentů může připomínat hledání jehly v kupce sena. Vytvořte Boolean dotaz v Javě vám umožňuje přesně říct enginu, co potřebujete — dokumenty, které obsahují obě termíny, kterýkoli termín, nebo vyloučit nechtěná slova. V tomto průvodci vás provedeme nastavením GroupDocs.Search for Java, přidáváním dokumentů do indexu a vytvářením výkonných boolean dotazů, které zlepší vaše document retrieval java workflowy. Na konci budete schopni napsat čistý, udržovatelný kód, který vytváří boolean dotazy v Javě pomocí jen několika řádků.

Rychlé odpovědi

  • Co je boolean AND dotaz? Vrací pouze dokumenty, které obsahují vše zadané termíny.
  • Jak se OR liší od AND? OR odpovídá dokumentům s kterýmkoli z termínů, čímž rozšiřuje množinu výsledků.
  • Kdy mám použít NOT? Použijte NOT k odfiltrování dokumentů obsahujících nechtěná slova.
  • Potřebuji licenci? Bezplatná zkušební verze funguje pro testování; pro produkci je vyžadována komerční licence.
  • Jaká verze Javy je požadována? Java 8+ je podporována; JDK 11+ se doporučuje.

Co je vytvořit boolean dotaz v Javě?

create boolean query java odkazuje na vytváření vyhledávacího dotazu v Javě, který kombinuje logické operátory jako AND, OR a NOT pomocí API GroupDocs.Search. Sestavením těchto operátorů můžete přesně řídit, které dokumenty odpovídají, což umožňuje pokročilé filtrování, ladění relevance a složité vyhledávací scénáře.

Proč používat GroupDocs.Search pro Javu?

  • Vysoký výkon na velkých sadách dokumentů — dokáže indexovat a prohledávat 500 GB textu za méně než minutu na standardním serveru.
  • Bohaté API, které podporuje jak textové, tak objektové dotazy, což vám umožní vybrat styl, který odpovídá vaší architektuře.
  • Vestavěná podpora jazyků pro stemming, stop‑slova a fuzzy vyhledávání ve více než 30 jazycích.
  • Jednoduchá integrace s Mavenem nebo přímým stažením JAR, vyžadující jen několik řádků kódu pro zahájení.

Předpoklady

  • GroupDocs.Search for Java (v25.4 nebo novější) — viz odkaz ke stažení níže.
  • JDK 8+ nainstalováno a nakonfigurováno ve vašem IDE (IntelliJ IDEA, Eclipse atd.).
  • Základní znalost Javy a Maven pro správu závislostí.

Nastavení GroupDocs.Search pro Javu

Nastavení Maven

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

Přímé stažení

Alternativně stáhněte nejnovější JAR z oficiální stránky: GroupDocs.Search for Java releases.

Získání licence

Začněte s bezplatnou zkušební licencí pro vyzkoušení všech funkcí. Pro produkční použití zakupte komerční licenci, která odemkne plnou funkčnost.

Základní inicializace a nastavení

Create an index folder and instantiate the Index object:

import com.groupdocs.search.Index;

public class GroupDocsSetup {
    public static void main(String[] args) {
        String indexFolder = "path/to/index/directory";
        Index index = new Index(indexFolder);
    }
}

Jak vytvořit boolean dotaz v Javě?

Třída Index představuje prohledávatelnou kolekci dokumentů uložených na disku. BooleanQuery kombinuje více pod‑dotazů pomocí logických operátorů. createAndQuery, createOrQuery a createNotQuery vytvářejí pod‑dotazy AND, OR a NOT. Načtěte nebo vytvořte instanci Index, přidejte dokumenty a poté vytvořte objekt BooleanQuery pomocí createAndQuery, createOrQuery nebo createNotQuery. Zavolejte index.search(query), abyste získali odpovídající dokumenty. Tento vzor funguje jak pro jednoduché, tak pro složité scénáře a vyžaduje pouze tři logické kroky: inicializaci indexu, přidání dokumentů a provedení dotazu.

Boolean AND vyhledávání

Přehled

AND dotaz zužuje výsledky, zlepšuje relevanci, když potřebujete dokumenty, které splňují více kritérií.

Kroky implementace

  1. Inicializace Indexu — toto také ukazuje přidání dokumentů do indexu pro scénář AND.

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorAnd";
    Index index = new Index(indexFolder);
    
  2. Indexování dokumentů

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Provést vyhledávání textovým dotazem — pomocí jednoduché řetězcové syntaxe.

    String query1 = "comfort AND promotion";
    SearchResult result1 = index.search(query1);
    
  4. Provést vyhledávání objektovým dotazem — užitečné při programovém sestavování dotazů (search with and java).

    import com.groupdocs.search.query.*;
    
    SearchQuery wordQuery1 = SearchQuery.createWordQuery("comfort");
    SearchQuery wordQuery2 = SearchQuery.createWordQuery("promotion");
    SearchQuery andQuery = SearchQuery.createAndQuery(wordQuery1, wordQuery2);
    SearchResult result2 = index.search(andQuery);
    

Boolean OR vyhledávání

Přehled

OR dotaz je ideální pro průzkumná vyhledávání, kde chcete zachytit dokumenty obsahující alespoň jedno z několika klíčových slov (search with or java).

Kroky implementace

  1. Inicializace Indexu

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorOr";
    Index index = new Index(indexFolder);
    
  2. Indexování dokumentů

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Provést vyhledávání textovým dotazem

    String query1 = "comfort OR neque";
    SearchResult result1 = index.search(query1);
    
  4. Provést vyhledávání objektovým dotazem

    SearchQuery wordQuery1 = SearchQuery.createWordQuery("comfort");
    SearchQuery wordQuery2 = SearchQuery.createWordQuery("neque");
    SearchQuery orQuery = SearchQuery.createOrQuery(wordQuery1, wordQuery2);
    SearchResult result2 = index.search(orQuery);
    

Boolean NOT vyhledávání

Přehled

NOT dotaz vám pomáhá odstranit irelevantní dokumenty, například filtrováním názvu značky konkurenta (boolean search examples java).

Kroky implementace

  1. Inicializace Indexu

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorNot";
    Index index = new Index(indexFolder);
    
  2. Indexování dokumentů

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Provést vyhledávání textovým dotazem

    String query1 = "sportsman AND NOT Kynynmound";
    SearchResult result1 = index.search(query1);
    
  4. Provést vyhledávání objektovým dotazem

    SearchQuery wordQuery1 = SearchQuery.createWordQuery("sportsman");
    SearchQuery wordQuery2 = SearchQuery.createWordQuery("Kynynmound");
    SearchQuery notQuery = SearchQuery.createNotQuery(wordQuery2);
    SearchQuery andQuery = SearchQuery.createAndQuery(wordQuery1, notQuery);
    SearchResult result2 = index.search(andQuery);
    

Složité Boolean dotazy

Přehled

Složité dotazy vám umožňují modelovat reálné vyhledávací scénáře, například „najít sportovní články, které jsou pozitivní, ale vyloučit jakékoli zmínky o konkrétních sportovcích“.

Kroky implementace

  1. Inicializace Indexu

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/ComplexQueries";
    Index index = new Index(indexFolder);
    
  2. Indexování dokumentů

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Provést vyhledávání textovým dotazem

    String query1 = "(sportsman AND favourable) AND NOT (Kynynmound OR Murray)";
    SearchResult result1 = index.search(query1);
    
  4. Provést vyhledávání objektovým dotazem

    SearchQuery word1Query = SearchQuery.createWordQuery("sportsman");
    SearchQuery word2Query = SearchQuery.createWordQuery("favourable");
    SearchQuery andQuery = SearchQuery.createAndQuery(word1Query, word2Query);
    
    SearchQuery word3Query = SearchQuery.createWordQuery("Kynynmound");
    SearchQuery word4Query = SearchQuery.createWordQuery("Murray");
    SearchQuery orQuery = SearchQuery.createOrQuery(word3Query, word4Query);
    SearchQuery notQuery = SearchQuery.createNotQuery(orQuery);
    
    SearchQuery rootQuery = SearchQuery.createAndQuery(andQuery, notQuery);
    SearchResult result2 = index.search(rootQuery);
    

Praktické aplikace java boolean and or dotazů

  • Systémy pro správu dokumentů — najděte smlouvy, které obsahují jak „confidential“, AND „renewal“.
  • Právní výzkum — filtrujte judikaturu pomocí AND/OR, přičemž vylučujete zastaralé zákony pomocí NOT.
  • Zákaznická podpora — načtěte tickety, které zmiňují „login“ AND „error“, ale ne „resolved“.
  • Kurátorství obsahu — shromážděte blogové příspěvky o „cloud“ OR „serverless“ pro newsletter.

Časté úskalí a řešení problémů

  • Chybějící obnovení indexu — po přidání nových dokumentů zavolejte index.update(), aby byly prohledávatelné.
  • Nesprávné mezery u operátorů — GroupDocs.Search očekává mezery kolem operátorů (AND, OR, NOT).
  • Rozlišování velkých a malých písmen — dotazy jsou ve výchozím nastavení necitlivé na velikost písmen, ale vlastní analyzátory to mohou ovlivnit.
  • Velké množiny výsledků — použijte stránkování (search(query, 0, 100)) k zabránění přetížení paměti.

Často kladené otázky

Q: Můžu kombinovat více než dva termíny v AND dotazu?
A: Rozhodně. Můžete řetězit více objektů createWordQuery pomocí createAndQuery, nebo jednoduše napsat "term1 AND term2 AND term3" v textovém dotazu.

Q: Podporuje GroupDocs.Search vyhledávání s maskou nebo fuzzy?
A: Ano. Přidejte * pro masku (např. promot*) nebo použijte ~ pro fuzzy shodu (např. comfort~).

Q: Jak omezím vyhledávání na konkrétní typy souborů?
FileTypeQuery omezuje výsledky vyhledávání na určité formáty souborů, jako PDF nebo DOCX.
A: Použijte třídu FileTypeQuery k omezení výsledků na PDF, DOCX atd., a kombinujte ji s vaším boolean dotazem.

Q: Jaký je nejlepší způsob, jak sledovat výkon indexování?
A: Aktivujte vestavěný logger (index.getLogger().setLevel(Level.INFO)) a přezkoumejte časové metriky po každé operaci add.

Q: Existuje způsob, jak zvýšit relevanci určitých termínů?
BoostQuery zvyšuje relevanční skóre specifikovaných termínů ve vyhledávacím dotazu.
A: Ano. Obalte důležitá slova pomocí BoostQuery, aby se zvýšila jejich váha v algoritmu hodnocení.


Poslední aktualizace: 2026-07-21
Testováno s: GroupDocs.Search 25.4 (Java)
Autor: GroupDocs

Související tutoriály