Stop Words Java を無効化 – GroupDocs でインデックスにドキュメントを追加
このチュートリアルでは、GroupDocs.Search for Java を使用してファイルを検索可能なインデックスに追加する際に disable stop words java を無効にする方法を紹介します。組み込みのストップワードフィルタをオフにすることで、「on」や「by」や「the」などの一般的な単語を含むすべてのトークンが検索可能になり、法的契約書、eコマースカタログ、技術マニュアルなどの専門分野で結果の関連性が大幅に向上します。
クイック回答
- What does “add documents to index” mean? ソースファイルを検索可能なインデックスにロードし、効率的にクエリできるようにすることを意味します。
- Why would I disable stop words? ドメインで意味のある場合に、検索に一般的な単語(例: “on”, “the”)を含めるためです。
- Which library version is required? GroupDocs.Search for Java 25.4 以降。
- Do I need a license? 評価には無料トライアルが利用でき、製品版には永続ライセンスが必要です。
- Can I use this in a Maven project? はい – 下記のリポジトリと依存関係を追加するだけです。
検索におけるストップワードとは何か、そしてなぜ無効にしたいのか
ストップワードは、多くの検索エンジンがクエリ処理を高速化するために自動的に除外する高頻度語です。これらを無効にすると、every word(従来は無視されていた語も含む)が検索インデックスに寄与し、これらの語がドメイン固有の意味を持つ場合に重要になります。例えば、法的契約書では “by” が当事者を区別する語となり、製品カタログでは “on” がモデル名の一部になることがあります。
GroupDocs.Search でドキュメントをインデックスに追加する仕組み
ドキュメントを追加すると、GroupDocs.Search は各ファイルを読み取り、コンテンツをトークン化し、最適化された逆インデックスにトークンを保存します。この構造により、hundreds of thousands of files(数十万ファイル)を含むコレクションでもサブ秒の検索が可能になります。また、ライブラリはインクリメンタル更新をサポートしているため、インデックスをゼロから再構築せずに最新の状態に保つことができます。
前提条件
- Required Libraries: GroupDocs.Search for Java 25.4(またはそれ以降)。
- Development Environment: IntelliJ IDEA、Eclipse、またはお好みの Java IDE。
- Basic Knowledge: Java の構文とインデックス作成の概念に慣れていること。
GroupDocs.Search for Java のセットアップ
Maven インストール
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>
直接ダウンロード
あるいは、最新バージョンを GroupDocs.Search for Java releases からダウンロードしてください。
ライセンス取得手順
- Free Trial – すぐにテストを開始できます。
- Temporary License – フル機能を利用できる期間限定キーを取得します。
- Purchase – 本番環境で使用する永続ライセンスを取得します。
基本的な初期化とセットアップ
IndexSettings は、インデックスの構築方法、検索方法、および有効化される機能を定義する構成クラスです。
IndexSettings のインスタンスを作成して、インデックスの動作を制御します。
import com.groupdocs.search.IndexSettings;
// Create an instance of IndexSettings
IndexSettings settings = new IndexSettings();
検索でストップワードを無効にする方法 (Java)
IndexSettings は検索インデックスの動作を制御する構成オブジェクトです。デフォルトでは組み込みのストップワードフィルタが有効になっています。このフィルタをオフにするには、IndexSettings インスタンスで setUseStopWords(false) メソッドを呼び出します。この一度の呼び出しでストップワードの除去が無効になり、on や the などの一般的な単語を含むすべてのトークンがインデックス化され、クエリ可能になります。
ドキュメントをインデックスに追加する方法
インデックスにドキュメントを追加するには、目的の IndexSettings を使用して Index オブジェクトを作成し、各ファイルまたはフォルダーに対してその add メソッドを呼び出します。ライブラリは各ドキュメントを読み取り、コンテンツをトークン化し、結果の用語を逆インデックスに保存し、即座に検索可能にします。インデックスを特定の出力ディレクトリに設定し、インデックス対象のファイルが格納されたソースフォルダーを指定できます。
出力ディレクトリの定義
// Disable the use of stop words
tsettings.setUseStopWords(false);
ドキュメントディレクトリの指定
import com.groupdocs.search.Index;
// Define the path to the output directory for indexing
String indexFolder = "YOUR_OUTPUT_DIRECTORY\\IndexingWithStopWords";
// Create an index at the specified location with the configured settings
Index index = new Index(indexFolder, settings);
検索クエリの実行
// Define the path to your document directory
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
// Add all documents in the specified folder to the index
index.add(documentsFolder);
disable stop words java が有効なため、"on" を含むクエリも評価され、デフォルトフィルタで無視されるはずの一致が返されます。
実用的な応用例
- Enterprise Document Search – デフォルトのストップワードリストで除去される重要な用語を保持します。
- E‑commerce Platforms – 説明文、モデル番号、仕様書のすべての単語をインデックス化することで、製品の発見性を向上させます。
- Legal Research Tools – 通常はストップワードとして扱われることが多い法的用語もすべて取得し、重要な条項を見逃さないようにします。
パフォーマンス上の考慮点
- Optimization Tips: インデックスを定期的に更新・削除して検索速度を高く保ちます。GroupDocs.Search は up to 1 million documents(最大100万ドキュメント)を処理し、サブ秒のクエリ時間を維持できます。
- Resource Usage: JVM ヒープサイズを監視してください。大規模インデックスでは最大ヒープ(
-Xmx)を 4 GB 以上にする必要がある場合があります。 - Java Memory Management: 非常に大規模なコーパスの場合、オンヒープのフットプリントを 2 GB 未満に抑えるためにオフヒープストレージオプションを使用してください。
よくある問題と解決策
| 症状 | 考えられる原因 | 対策 |
|---|---|---|
| 一般的な単語で結果が返らない | setUseStopWords(true)(デフォルト) | 上記のように setUseStopWords(false) を呼び出します。 |
| インデックス作成中のメモリ不足エラー | 一度に多数の大きなファイルをインデックスしようとする | ファイルをバッチ処理でインデックスし、-Xmx JVM オプションを増やします。 |
| 検索結果が古いデータを返す | 新しいファイルを追加した後にインデックスが更新されていない | index.update() を呼び出すか、変更されたドキュメントを再度追加します。 |
よくある質問
Q: What are stop words?
A: ストップワードは、検索エンジンがクエリを高速化するために無視する一般的な語(例: “the”, “is”, “on”)です。これらを無効にすると、すべてのトークンを検索可能にできます。
Q: Why disable stop words in search indexes?
A: 法的文書や技術文書のように正確なフレーズ一致が必要な場合、すべての単語が意味を持つため、ストップワードも含める必要があります。
Q: How does GroupDocs.Search handle large datasets?
A: ライブラリは最適化されたデータ構造とインクリメンタルインデックスを使用し、millions of documents(数百万ドキュメント)でもメモリ使用量を低く抑えます。
Q: Can I integrate GroupDocs.Search with other Java applications?
A: はい、API はウェブサービスからデスクトップアプリまで、あらゆる Java ベースのシステムに簡単に組み込めるよう設計されています。
Q: What should I do if my search results are not accurate?
A: インデックスに必要なすべてのファイルが含まれているか(add documents to index)を確認し、必要に応じてストップワードフィルタが無効になっているかを確認し、重大な変更後はインデックスの再構築を検討してください。
追加リソース
- Documentation: GroupDocs Search Documentation
- API Reference: GroupDocs API Reference
- Download: Get the latest GroupDocs.Search for Java
- GitHub Repository: Explore on GitHub
- Free Support: Join GroupDocs Forum
- Temporary License: Apply for a Temporary License
このガイドに従うことで、add documents to index と disable stop words java の方法を理解し、Java アプリケーションでより正確な検索結果を提供できるようになりました。
Last Updated: 2026-07-07
Tested With: GroupDocs.Search for Java 25.4
Author: GroupDocs
import com.groupdocs.search.results.SearchResult;
// Define your search query
tString query = "on";
// Perform the search operation using the index and the specified query
SearchResult result = index.search(query);