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
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);Indexování dokumentů
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Provést vyhledávání textovým dotazem — pomocí jednoduché řetězcové syntaxe.
String query1 = "comfort AND promotion"; SearchResult result1 = index.search(query1);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
Inicializace Indexu
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorOr"; Index index = new Index(indexFolder);Indexování dokumentů
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Provést vyhledávání textovým dotazem
String query1 = "comfort OR neque"; SearchResult result1 = index.search(query1);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
Inicializace Indexu
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorNot"; Index index = new Index(indexFolder);Indexování dokumentů
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Provést vyhledávání textovým dotazem
String query1 = "sportsman AND NOT Kynynmound"; SearchResult result1 = index.search(query1);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
Inicializace Indexu
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/ComplexQueries"; Index index = new Index(indexFolder);Indexování dokumentů
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Provést vyhledávání textovým dotazem
String query1 = "(sportsman AND favourable) AND NOT (Kynynmound OR Murray)"; SearchResult result1 = index.search(query1);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