Lucene-deletedocument
Lucene-ドキュメントの削除操作
文書の削除は、インデックス作成プロセスのもう1つの重要な操作です。 この操作は、すでにインデックス付けされたコンテンツが更新され、インデックスが無効になるか、インデックスのサイズが非常に大きくなる場合に使用されます。サイズを縮小してインデックスを更新するには、削除操作を実行します。
IndexWriterを使用してインデックスを更新する_Field(s)_を含む_Document(s)_を_IndexWriter_に削除します。
次に、段階的なアプローチを示し、基本的な例を使用してドキュメントを削除する方法を理解できるようにします。
インデックスからドキュメントを削除する
インデックスからドキュメントを削除するには、次の手順に従ってください-
- ステップ1 *-廃止されたテキストファイルのLuceneドキュメントを削除するメソッドを作成します。
IndexWriterを作成する
IndexWriterクラスは、インデックス作成プロセス中にインデックスを作成/更新するコアコンポーネントとして機能します。
IndexWriterを作成するには、次の手順に従ってください-
- ステップ1 *-IndexWriterのオブジェクトを作成します。
- ステップ2 *-インデックスを保存する場所を指すLuceneディレクトリを作成します。
- ステップ3 *-インデックスディレクトリで作成されたIndexWriterオブジェクトを初期化します。これは、バージョン情報とその他の必須/オプションパラメータを持つ標準アナライザーです。
ドキュメントを削除し、インデックス再作成プロセスを開始します
以下は、ドキュメントを削除する方法です。
- * deleteDocuments(Term)*-その用語を含むすべてのドキュメントを削除します。
- * deleteDocuments(Term [])*-配列内のいずれかの用語を含むすべてのドキュメントを削除します。
- * deleteDocuments(Query)*-クエリに一致するすべてのドキュメントを削除します。
- * deleteDocuments(Query [])*-配列内のクエリに一致するすべてのドキュメントを削除します。
- deleteAll -すべてのドキュメントを削除します。
応用例
インデックス作成プロセスをテストするために、Luceneアプリケーションテストを作成しましょう。
Step | Description |
---|---|
1 | Create a project with a name LuceneFirstApplication under a package com.finddevguides.lucene as explained in the Lucene - First Application chapter. You can also use the project created in EJB - First Application chapter as such for this chapter to understand the indexing process. |
2 | Create LuceneConstants.java,TextFileFilter.java and Indexer.java as explained in the Lucene - First Application chapter. Keep the rest of the files unchanged. |
3 | Create LuceneTester.java as mentioned below. |
4 | Clean and Build the application to make sure business logic is working as per the requirements. |
LuceneConstants.java
このクラスは、サンプルアプリケーション全体で使用できるさまざまな定数を提供します。
TextFileFilter.java
このクラスは、*。txt *ファイルフィルターとして使用されます。
Indexer.java
このクラスを使用して生データにインデックスを付け、Luceneライブラリを使用して検索可能にします。
LuceneTester.java
このクラスは、Luceneライブラリのインデックス機能をテストするために使用されます。
データおよびインデックスディレクトリの作成
record1.txtからrecord10.txtまでの10個のテキストファイルを使用して、生徒の名前やその他の詳細を含め、E:\ Lucene \ Dataディレクトリに配置しました。 link:/lucene/data.zip [テストデータ]。 インデックスディレクトリパスは、E:\ Lucene \ Indexとして作成する必要があります。 このプログラムを実行すると、そのフォルダーに作成されたインデックスファイルのリストを見ることができます。
プログラムを実行する
ソース、生データ、データディレクトリ、インデックスディレクトリの作成が完了したら、プログラムをコンパイルして実行できます。 これを行うには、 LuceneTester.Java ファイルタブをアクティブのままにして、Eclipse IDEで使用可能な実行オプションを使用するか、 Ctrl + F11 を使用して LuceneTester アプリケーションをコンパイルおよび実行します。 アプリケーションが正常に実行されると、Eclipse IDEのコンソールに次のメッセージが出力されます-
プログラムを正常に実行すると、* indexディレクトリ*に次のコンテンツが表示されます-