Java リリース". Keep link format.
Also keep bold ….
Proceed section by section.
Let’s produce final Japanese markdown.
Be careful with bullet points and code block placeholders.
Let’s start.
Mastering the java file extension filter with GroupDocs.Search
Translate: “GroupDocs.Searchでjavaファイル拡張子フィルタをマスターする”. Use natural Japanese.
Proceed.
I’ll write translation.
GroupDocs.Search で java ファイル拡張子フィルタをマスターする
ドキュメントが増えていくと、特定のファイルタイプだけをインデックス化したい場合に管理がすぐに手に負えなくなります。java ファイル拡張子フィルタ を使用すると、GroupDocs.Search に対してインクルードまたはエクスクルードする拡張子を正確に指定でき、インデックス化パイプラインを細かく制御できます。このガイドでは、GroupDocs.Search for Java の設定方法を順に解説し、ファイル拡張子フィルタを論理 AND、OR、NOT 演算子と組み合わせる方法、さらに日付範囲やパスフィルタとの併用方法を紹介します。
Quick Answers
- java ファイル拡張子フィルタとは? インデックス作成時に、どのファイル拡張子をインクルードまたはエクスクルードするかを GroupDocs.Search に指示する設定です。
- この機能を提供しているライブラリは? GroupDocs.Search for Java。
- ライセンスは必要ですか? 評価用の無料トライアルで試すことができますが、本番環境では正式ライセンスが必要です。
- フィルタを組み合わせられますか? はい。拡張子、日付、サイズ、パスフィルタを AND、OR、NOT ロジックでチェーンできます。
- Maven に対応していますか? 完全に対応しています。
pom.xmlに GroupDocs.Search の依存関係を追加してください。
What is a java file extension filter?
java ファイル拡張子フィルタ は、インデックスエンジンに送られる前に各ファイルの拡張子を評価するルールセットです。.txt、.pdf、.epub などの拡張子を指定することで、拡張子でファイルをインクルード または 拡張子でファイルをエクスクルード でき、インデックスを目的に合わせて絞り込み、検索結果の関連性を高められます。
Why use file‑extension filtering with GroupDocs.Search?
- パフォーマンス: 不要なファイルをスキップすることで I/O が削減され、インデックス作成が高速化します。
- ストレージ削減: 関連するドキュメントだけがインデックスに保存され、ディスク使用量が減ります。
- コンプライアンス: 機密情報やサポート外のファイルタイプが誤ってインデックスされるのを防止します。
- 柔軟性: date range filter java 機能と組み合わせて、特定期間に作成または更新されたファイルだけを対象にできます。
Prerequisites
開始する前に、以下が揃っていることを確認してください。
Required Libraries and Dependencies
- GroupDocs.Search for Java: バージョン 25.4 以降
- Java Development Kit (JDK): 対応バージョンがインストール済み
Environment Setup
- 統合開発環境 (IDE): IntelliJ IDEA、Eclipse、または Maven 対応の任意の IDE
Knowledge Prerequisites
- 基本的な Java プログラミング
- Java におけるファイル I/O の知識
- 正規表現と日付・時刻処理の理解
Setting Up GroupDocs.Search for Java
GroupDocs.Search を使用開始するには、プロジェクトに依存関係として追加する必要があります。
Maven Configuration
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
あるいは、GroupDocs.Search for Java リリース から最新バージョンを直接ダウンロードできます。
License Acquisition
- Free Trial – コストなしで機能を試せます。
- Temporary License – 限定期間のフル機能を利用できます。
- Purchase – 本番環境向けの永続ライセンスを取得します。
Basic Initialization and Setup
ライブラリを追加したら、インデックス環境を初期化します。
import com.groupdocs.search.*;
String indexFolder = "YOUR_OUTPUT_DIRECTORY";
Index index = new Index(indexFolder);
Implementation Guide
以下では各フィルタタイプを詳しく解説し、なぜ重要か を説明したうえで、プロジェクトにコピペできるステップバイステップのコード例を提示します。
File Extension Filtering
インデックス作成時に拡張子でファイルをフィルタリングします。電子書籍(.fb2、.epub)やプレーンテキスト(.txt)だけを処理したい場合に最適です。
Overview
DocumentFilter.createFileExtension を使用してホワイトリスト方式で拡張子を指定します。
Implementation Steps
フィルタ作成:
DocumentFilter filter = DocumentFilter.createFileExtension(".fb2", ".epub", ".txt"); IndexSettings settings = new IndexSettings(); settings.setDocumentFilter(filter);インデックス初期化とドキュメント追加:
Index index = new Index("YOUR_OUTPUT_DIRECTORY\\FileExtensionFilter", settings); index.add("YOUR_DOCUMENT_DIRECTORY");
Logical NOT Filter
検索シナリオで不要な拡張子(例: Web ページや PDF)を除外します。
Implementation Steps
除外フィルタ作成:
DocumentFilter filterNot = DocumentFilter.createFileExtension(".htm", ".html", ".pdf"); DocumentFilter invertedFilter = DocumentFilter.createNot(filterNot);インデックス設定へ適用:
IndexSettings settingsNot = new IndexSettings(); settingsNot.setDocumentFilter(invertedFilter);ドキュメント追加:
Index indexNot = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalNotFilter", settingsNot); indexNot.add("YOUR_DOCUMENT_DIRECTORY");
Logical AND Filter
作成日、拡張子、ファイルサイズなど複数条件を組み合わせ、すべての条件を満たすファイルだけ をインデックス化します。
Overview
DocumentFilter.createAnd が複数フィルタを単一ルールに統合します。
Implementation Steps
フィルタ定義:
DocumentFilter filter1 = DocumentFilter.createCreationTimeRange(Utils.createDate(2015, 1, 1), Utils.createDate(2016, 1, 1)); DocumentFilter filter2 = DocumentFilter.createFileExtension(".txt"); DocumentFilter filter3 = DocumentFilter.createFileLengthUpperBound(8 * 1024 * 1024);フィルタ結合:
DocumentFilter finalFilterAnd = DocumentFilter.createAnd(filter1, filter2, filter3); IndexSettings settingsAnd = new IndexSettings(); settingsAnd.setDocumentFilter(finalFilterAnd);ドキュメントインデックス:
Index indexAnd = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalAndFilter", settingsAnd); indexAnd.add("YOUR_DOCUMENT_DIRECTORY");
Logical OR Filter
指定した条件の いずれか を満たすファイルをインクルードします。小さなテキストファイルと大きな非テキストファイルの両方を対象にしたい場合に便利です。
Implementation Steps
フィルタ定義:
DocumentFilter txtFilter = DocumentFilter.createFileExtension(".txt"); DocumentFilter notTxtFilter = DocumentFilter.createNot(txtFilter);論理条件で結合:
DocumentFilter bound5Filter = DocumentFilter.createFileLengthUpperBound(5 * 1024 * 1024); DocumentFilter bound10Filter = DocumentFilter.createFileLengthUpperBound(10 * 1024 * 1024); DocumentFilter txtSizeFilter = DocumentFilter.createAnd(txtFilter, bound5Filter); DocumentFilter notTxtSizeFilter = DocumentFilter.createAnd(notTxtFilter, bound10Filter);OR フィルタ確定:
DocumentFilter finalFilterOr = DocumentFilter.createOr(txtSizeFilter, notTxtSizeFilter); IndexSettings settingsOr = new IndexSettings(); settingsOr.setDocumentFilter(finalFilterOr); Index indexOr = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalOrFilter", settingsOr); indexOr.add("YOUR_DOCUMENT_DIRECTORY");
Creation Time Filters
特定期間内に作成されたファイルを対象にする、典型的な date range filter java シナリオです。
Implementation Steps
日付範囲フィルタ定義:
DocumentFilter filter3CTime = DocumentFilter.createCreationTimeRange(Utils.createDate(2017, 1, 1), Utils.createDate(2018, 6, 15)); IndexSettings settingsCTime = new IndexSettings(); settingsCTime.setDocumentFilter(filter3CTime);ドキュメントインデックス:
Index indexCTime = new Index("YOUR_OUTPUT_DIRECTORY\\CreationTimeFilters", settingsCTime); indexCTime.add("YOUR_DOCUMENT_DIRECTORY");
Modification Time Filters
あるカットオフ日以降に更新されたファイルを除外します。
Implementation Steps
フィルタ定義:
DocumentFilter filter2MTime = DocumentFilter.createModificationTimeUpperBound(Utils.createDate(2018, 6, 15)); IndexSettings settingsMTime = new IndexSettings(); settingsMTime.setDocumentFilter(filter2MTime);ドキュメントインデックス:
Index indexMTime = new Index("YOUR_OUTPUT_DIRECTORY\\ModificationTimeFilters", settingsMTime); indexMTime.add("YOUR_DOCUMENT_DIRECTORY");
File Path Filtering
特定フォルダやパターンに一致するファイルのみをインデックス対象に制限します。特定ディレクトリ階層内で include files by extension したい場合に最適です。
Implementation Steps
ファイルパスフィルタ定義:
DocumentFilter pathFilter = DocumentFilter.createPath("*.txt", "documents/"); IndexSettings settingsPath = new IndexSettings(); settingsPath.setDocumentFilter(pathFilter);インデックス初期化とドキュメント追加:
Index indexPath = new Index("YOUR_OUTPUT_DIRECTORY\\FilePathFilter", settingsPath); indexPath.add("YOUR_DOCUMENT_DIRECTORY");
Common Pitfalls & Tips
- 絶対パスと相対パスを同一フィルタ設定で混在させない – 予期しない除外が発生する可能性があります。
- フィルタセットを切り替える際は
IndexSettingsをリセット してください。リセットしないと以前のフィルタが残ります。 - 拡張子フィルタとサイズ上限を組み合わせる と、大規模コレクションでメモリ使用量を抑えられます。
- ロギングを有効化 (
LoggingOptions.setEnabled(true)) すると、ファイルが除外された理由を確認できます。
Frequently Asked Questions
Q: インデックス作成後にフィルタ条件を変更できますか?
A: はい。新しい DocumentFilter でインデックスを再構築するか、設定を更新したインクリメンタルインデックスを使用してください。
Q: java ファイル拡張子フィルタは圧縮アーカイブ(例: ZIP)にも適用されますか?
A: GroupDocs.Search はサポートされているアーカイブ形式をインデックス化できますが、拡張子フィルタはアーカイブ自体に対して適用され、内部ファイルには適用されません。内部ファイルを制御したい場合は、ネストされたフィルタを使用してください。
Q: 特定のファイルが除外された理由をデバッグする方法は?
A: ライブラリのロギングを有効にし(LoggingOptions.setEnabled(true))、ログを確認してください。どのフィルタがファイルを拒否したかが記録されています。
Q: java ファイル拡張子フィルタとカスタム正規表現フィルタを組み合わせられますか?
A: もちろん可能です。拡張子フィルタと共に正規表現フィルタを DocumentFilter.createAnd() でラップすれば実現できます。
Q: 多数のフィルタを追加するとパフォーマンスに影響しますか?
A: 各フィルタはインデックス作成時にわずかなオーバーヘッドを加えますが、インデックス対象データが減少することで得られる効果が通常は上回ります。代表的なサンプルでテストし、最適なバランスを見つけてください。
最終更新日: 2026-02-21
テスト環境: GroupDocs.Search 25.4 for Java
作者: GroupDocs