Boolean Operators Java – 検索インデックスの作成とファセット検索

Javaで強力な search experience を実装することは圧倒されがちです。特に、ファセット検索や複雑なクエリに対応する create a search index Javaboolean operators Java が必要な場合はなおさらです。このチュートリアルでは GroupDocs.Search for Java の設定、インデックスの構築、ドキュメントの追加、シンプルなファセット検索と高度なマルチクライテリアクエリ(Booleanロジック使用)を作成する手順を解説します。最後まで読むと content search Javafilename search Java、さらには update index java 操作を活用してデータを最新に保つ方法が理解できます。

クイック回答

  • What is a faceted search? 事前に定義されたカテゴリ(ファイルタイプや日付など)で結果を絞り込む方法です。
  • How do I create a search index Java? フォルダーを指す Index オブジェクトを初期化し、ドキュメントを追加します。
  • Can I combine multiple criteria with boolean operators? はい—オブジェクトベースのクエリまたはテキストクエリ内の Boolean 演算子を使用します。
  • Do I need a license? 無料トライアルは開発・テストに利用可能です。商用ライセンスは制限を解除します。
  • Which IDE works best? 任意の Java IDE(IntelliJ IDEA、Eclipse、NetBeans)で問題ありません。

“create search index java” とは何ですか?

Javaで検索インデックスを作成することは、ドキュメントのメタデータとコンテンツを格納し、ユーザークエリに基づく高速検索を可能にする検索可能なデータ構造を構築することを意味します。GroupDocs.Search を使用すると、インデックスはディスク上に保存され、増分で更新でき、ファセットや boolean operators Java、複雑な Boolean ロジックといった高度な機能をサポートします。

ファセット検索と複雑なクエリに GroupDocs.Search を使用する理由

  • Out‑of‑the‑box faceting – ファイル名、サイズ、カスタムメタデータなどのフィールドでフィルタリングできます。
  • Rich query language – テキスト、フレーズ、フィールドクエリを AND/OR/NOT 演算子で組み合わせます(boolean operators java のコア)。
  • Scalable performance – 数百万件のドキュメントを扱いながら低レイテンシを維持します。
  • Pure Java – ネイティブ依存がなく、JDK 8+ が動作する任意のプラットフォームで利用可能です。
  • Easy index maintenance – ファイルの追加・削除後に index.update() を呼び出すだけで update index java が実行できます。

前提条件

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

  • JDK 8 以上 がインストールされ、IDE で設定されていること。
  • Maven(または Gradle)で依存関係を管理できること。
  • GroupDocs.Search for Java ≥ 25.4 が入手可能であること。
  • Java の OOP 概念と Maven プロジェクト構造に関する基本的な知識。

GroupDocs.Search for Java の設定

Maven 設定

リポジトリと依存関係を 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>

直接ダウンロード

または、公式リリースページから最新の JAR をダウンロードしてください:
GroupDocs.Search for Java releases

ライセンス取得

フル機能を有効化するには:

  1. Free trial – 開発・テストに最適です。
  2. Temporary evaluation license – トライアルの制限を拡張します。
  3. Commercial license – 本番環境でのすべての制限を解除します。

基本的な初期化と設定

以下のスニペットは Index クラスをインスタンス化して create a search index Java を作成する方法を示しています。

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

インデックスが準備できたら、実際のファセット検索や複雑なクエリに進みます。

boolean operators java の使用方法 – シンプルなファセット検索

ファセット検索は、エンドユーザーが事前定義されたカテゴリ(ファセット)から値を選択して結果を絞り込むことを可能にします。以下にステップバイステップで説明します。

手順 1: インデックスの作成

まず、インデックスファイルを保存するフォルダーを指すように Index を設定します。

import com.groupdocs.search.Index;

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

手順 2: インデックスにドキュメントを追加

GroupDocs.Search にソースドキュメントの場所を伝えます。サポートされているすべてのファイルタイプ(PDF、DOCX、TXT など)が自動的にインデックス化されます。

import com.groupdocs.search.Index;

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

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

手順 3: テキストクエリで Content フィールドを検索

簡易テキストクエリで content フィールドを絞り込みます。構文 content: Pellentesque は本文に Pellentesque が含まれるドキュメントに限定します。

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: オブジェクトクエリで検索

オブジェクトベースのクエリは細かい制御が可能です。ここでは単語クエリを作成し、フィールドクエリでラップして実行します。

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

boolean operators java の使用方法 – 複合クエリ検索

複合クエリは複数のフィールド、Boolean 演算子、フレーズ検索を組み合わせます。e‑commerce のフィルタや法務文書の検索に最適です。

手順 1: 複合クエリ用インデックスの作成

同じフォルダー構造を再利用できます。シンプルと複合のシナリオでインデックスを共有可能です。

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

手順 2: テキストクエリで検索

以下のクエリはファイル名に loremipsum の両方、または 2 つの正確なフレーズのいずれかを含むコンテンツを検索します。

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: オブジェクトクエリで検索

オブジェクトベースの構築はテキストクエリと同等ですが、型安全性と IDE の支援が得られます。

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

ファセット検索と複合検索の実用例

シナリオファセットが役立つ方法クエリ例
E‑commerce catalogカテゴリ、価格、ブランドでフィルタリングcategory: Electronics AND price:[100 TO 500]
Legal document repositoryケース番号、管轄で絞り込みcaseNumber: 2023-045 AND jurisdiction: "California"
Research archives著者、出版年、キーワードを組み合わせ(author: "Doe") AND (year: 2022) AND (keywords: "machine learning")
Enterprise intranetファイルタイプと部署で検索filetype: pdf AND department: HR

これらの例は、boolean operators javafilename search java のテクニックを習得することが、データ集約型アプリケーションにとっていかに重要かを示しています。

よくある落とし穴とトラブルシューティング

  • Empty results – ドキュメントが正しく追加されたか確認してください(index.getDocumentCount() が役立ちます)。
  • Stale index – ファイルの追加・削除後は index.update() を呼び出して update index java を実行し、インデックスを同期させます。
  • Incorrect field names – タイポ防止のため CommonFieldNames 定数(ContentFileName など)を使用してください。
  • Performance bottlenecks – 大規模コレクションの場合は index.setCacheSize() の有効化や、インデックスフォルダー用に専用 SSD を使用することを検討してください。
  • Missing highlightshighlight search results java を取得するには SearchResult.getFragments() を使用します(ここでは示していませんが API に用意されています)。

よくある質問

Q: GroupDocs.Search を Spring Boot と一緒に使えますか?
A: もちろんです。Maven 依存関係を追加し、インデックスを Spring Bean として構成すれば、必要な場所でインジェクトして検索機能を利用できます。

Q: カスタムメタデータフィールドはサポートされていますか?
A: はい – インデックス作成時にユーザー定義フィールドを追加でき、後でファセットとして利用できます。

Q: インデックスのサイズ上限はありますか?
A: インデックスはディスクベースで、数百万件のドキュメントを処理可能です。十分なストレージとキャッシュ設定の監視を行ってください。

Q: 結果を関連度でランク付けする方法はありますか?
A: GroupDocs.Search は自動的にマッチ度をスコア付けします。SearchResult.getDocument(i).getScore() でスコアを取得できます。

Q: 暗号化された PDF をインデックス化した場合はどうなりますか?
A: ドキュメント追加時にパスワードを指定します:index.add(filePath, password)

結論

これで GroupDocs.Search を使用した create a search index Java の作成、ドキュメントの追加、シンプルなファセットクエリと高度な Boolean 検索(boolean operators java)の構築方法が理解できたはずです。これらの機能により、e‑commerce プラットフォームからエンタープライズナレッジベースまで、幅広いアプリケーションで高速かつ正確な検索体験を提供できます。

次のステップに進みませんか? GroupDocs.Search の高度な機能(highlightingsuggestionsreal‑time indexing など)を探求し、アプリケーションの検索パワーをさらに向上させましょう。


最終更新日: 2026-02-16
テスト環境: GroupDocs.Search 25.4 for Java
作者: GroupDocs