java boolean and or: GroupDocs.Search for Javaでブール検索をマスターする

大量のドキュメントコレクションを検索することは、干し草の山から針を探すように感じられます。java boolean and or クエリを使用すれば、エンジンに正確に必要な条件を指示できます—両方 の用語を含むドキュメント、いずれか の用語を含むドキュメント、または不要な単語を除外するドキュメントです。このガイドでは GroupDocs.Search for Java のセットアップ、インデックスへのドキュメント追加、そして document retrieval java ワークフローを強化する強力なブールクエリの作成手順を解説します。

Quick Answers

  • ブール AND クエリとは? すべての指定された用語を含むドキュメントのみを返します。
  • OR は AND とどう違うの? OR は任意の用語を含むドキュメントに一致し、結果セットを広げます。
  • NOT はいつ使うべき? 不要な単語を含むドキュメントを除外するために NOT を使用します。
  • ライセンスは必要ですか? 無料トライアルでテストできますが、本番環境では商用ライセンスが必要です。
  • 必要な Java バージョンは? Java 8+ がサポートされており、JDK 11+ が推奨されます。

What is java boolean and or?

java boolean and or クエリは論理演算子(AND、OR、NOT)を組み合わせて検索結果を絞り込みます。クエリを構造化することで、GroupDocs.Search に用語同士の関係を正確に指示でき、検索プロセスを細かく制御できます。

Why use GroupDocs.Search for Java?

  • 大規模ドキュメントセットでも高性能
  • リッチな API でテキストベースとオブジェクトベースのクエリの両方をサポート。
  • ステミング、ストップワード、ファジーマッチング などの組み込み言語サポート。
  • Maven または直接 JAR ダウンロードで簡単統合

Prerequisites

始める前に以下を用意してください。

  • GroupDocs.Search for Java(v25.4 以降) – 下記ダウンロードリンクをご参照ください。
  • IDE(IntelliJ IDEA、Eclipse 等)で設定済みの JDK 8+。
  • 基本的な Java の知識と Maven による依存管理。

Setting Up GroupDocs.Search for Java

Maven Setup

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>

Direct Download

あるいは、公式サイトから最新の JAR をダウンロードしてください: GroupDocs.Search for Java releases

License Acquisition

まずは無料トライアルライセンスで全機能を体験できます。商用利用の場合は、フル機能を解放する商用ライセンスを購入してください。

Basic Initialization and Setup

インデックスフォルダーを作成し、Index オブジェクトをインスタンス化します。

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);
    }
}

java boolean and or: Implementing Boolean Searches

以下では ANDORNOT、および complex クエリについて解説します。各セクションはプレーンテキストクエリとオブジェクトベースクエリの両方を示すので、コードベースに合ったスタイルを選択できます。

AND で用語を結合し、すべて のキーワードを含むドキュメントのみを取得します。

Overview

AND クエリは結果を絞り込み、複数条件に合致するドキュメントが必要なときに関連性を向上させます。

Implementation Steps

  1. Initialize Index – ここでは AND シナリオ用の add documents to index も示します。

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorAnd";
    Index index = new Index(indexFolder);
    
  2. Index Documents

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Perform Text Query Search – プレーン文字列構文を使用します。

    String query1 = "comfort AND promotion";
    SearchResult result1 = index.search(query1);
    
  4. Perform Object Query Search – プログラムでクエリを構築する場合に便利です(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);
    

OR を使用して結果を拡大し、提供された任意の用語に一致させます。

Overview

OR クエリは探索的検索に最適で、複数キーワードのうち少なくとも1つを含むドキュメントを取得できます(search with or java)。

Implementation Steps

  1. Initialize Index

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorOr";
    Index index = new Index(indexFolder);
    
  2. Index Documents

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Perform Text Query Search

    String query1 = "comfort OR neque";
    SearchResult result1 = index.search(query1);
    
  4. Perform Object Query Search

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

NOT で不要な用語を除外し、結果からノイズをフィルタリングします。

Overview

NOT クエリは、競合他社のブランド名など、関連性の低いドキュメントを除外するのに役立ちます(boolean search examples java)。

Implementation Steps

  1. Initialize Index

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorNot";
    Index index = new Index(indexFolder);
    
  2. Index Documents

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Perform Text Query Search

    String query1 = "sportsman AND NOT Kynynmound";
    SearchResult result1 = index.search(query1);
    
  4. Perform Object Query Search

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

Complex Boolean Queries

ANDORNOT を組み合わせて、非常に具体的な検索ロジックを構築します。

Overview

複合クエリにより、例えば「スポーツ記事で好意的だが特定のアスリートに言及しているものは除外する」といった実世界の検索シナリオをモデル化できます。

Implementation Steps

  1. Initialize Index

    String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/ComplexQueries";
    Index index = new Index(indexFolder);
    
  2. Index Documents

    String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
    index.add(documentsFolder);
    
  3. Perform Text Query Search

    String query1 = "(sportsman AND favourable) AND NOT (Kynynmound OR Murray)";
    SearchResult result1 = index.search(query1);
    
  4. Perform Object Query Search

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

Practical Applications of java boolean and or Queries

  • Document Management Systems – 「confidential」 AND 「renewal」 の両方を含む契約書を検索。
  • Legal ResearchAND / OR で判例を絞り込み、NOT で古い法令を除外。
  • Customer Support – 「login」 AND 「error」 は含むが「resolved」は除外したチケットを取得。
  • Content Curation – ニュースレター用に「cloud」 OR 「serverless」に関するブログ記事を収集。

Common Pitfalls & Troubleshooting

  • Missing Index Refresh – 新規ドキュメント追加後は index.update() を呼び出して検索可能にします。
  • Incorrect Operator Spacing – GroupDocs.Search は演算子の前後にスペースが必要です(AND, OR, NOT)。
  • Case Sensitivity – デフォルトではクエリは大文字小文字を区別しませんが、カスタムアナライザーが影響する場合があります。
  • Large Result Sets – メモリ過負荷を防ぐためにページング(search(query, 0, 100))を使用してください。

Frequently Asked Questions

Q: Can I combine more than two terms in an AND query?
A: Absolutely. You can chain multiple createWordQuery objects with createAndQuery, or simply write "term1 AND term2 AND term3" in the text query.

Q: Does GroupDocs.Search support wildcard or fuzzy searches?
A: Yes. Append * for wildcard (e.g., promot*) or use ~ for fuzzy matching (e.g., comfort~).

Q: How do I limit the search to specific file types?
A: Use the FileTypeQuery class to restrict results to PDFs, DOCX, etc., and combine it with your boolean query.

Q: What is the best way to monitor indexing performance?
A: Enable the built‑in logger (index.getLogger().setLevel(Level.INFO)) and review the timing metrics after each add operation.

Q: Is there a way to boost the relevance of certain terms?
A: Yes. Wrap important words with BoostQuery to increase their weight in the scoring algorithm.


Last Updated: 2026-01-29
Tested With: GroupDocs.Search 25.4 (Java)
Author: GroupDocs