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
以下では AND、OR、NOT、および complex クエリについて解説します。各セクションはプレーンテキストクエリとオブジェクトベースクエリの両方を示すので、コードベースに合ったスタイルを選択できます。
Boolean AND Search
AND で用語を結合し、すべて のキーワードを含むドキュメントのみを取得します。
Overview
AND クエリは結果を絞り込み、複数条件に合致するドキュメントが必要なときに関連性を向上させます。
Implementation Steps
Initialize Index – ここでは AND シナリオ用の add documents to index も示します。
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorAnd"; Index index = new Index(indexFolder);Index Documents
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Perform Text Query Search – プレーン文字列構文を使用します。
String query1 = "comfort AND promotion"; SearchResult result1 = index.search(query1);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);
Boolean OR Search
OR を使用して結果を拡大し、提供された任意の用語に一致させます。
Overview
OR クエリは探索的検索に最適で、複数キーワードのうち少なくとも1つを含むドキュメントを取得できます(search with or java)。
Implementation Steps
Initialize Index
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorOr"; Index index = new Index(indexFolder);Index Documents
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Perform Text Query Search
String query1 = "comfort OR neque"; SearchResult result1 = index.search(query1);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);
Boolean NOT Search
NOT で不要な用語を除外し、結果からノイズをフィルタリングします。
Overview
NOT クエリは、競合他社のブランド名など、関連性の低いドキュメントを除外するのに役立ちます(boolean search examples java)。
Implementation Steps
Initialize Index
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/OperatorNot"; Index index = new Index(indexFolder);Index Documents
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Perform Text Query Search
String query1 = "sportsman AND NOT Kynynmound"; SearchResult result1 = index.search(query1);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
AND、OR、NOT を組み合わせて、非常に具体的な検索ロジックを構築します。
Overview
複合クエリにより、例えば「スポーツ記事で好意的だが特定のアスリートに言及しているものは除外する」といった実世界の検索シナリオをモデル化できます。
Implementation Steps
Initialize Index
String indexFolder = "YOUR_OUTPUT_DIRECTORY/BooleanSearch/ComplexQueries"; Index index = new Index(indexFolder);Index Documents
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY"; index.add(documentsFolder);Perform Text Query Search
String query1 = "(sportsman AND favourable) AND NOT (Kynynmound OR Murray)"; SearchResult result1 = index.search(query1);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 Research – AND / 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