Lucene-adddocument
Lucene-ドキュメントの追加操作
ドキュメントの追加は、インデックス作成プロセスの中核操作の1つです。
_Field(s)_を含むDocument(s)_を_IndexWriter_に追加します。_IndexWriter_はインデックスの更新または作成に使用されます。
ここで、段階的なアプローチを示し、基本的な例を使用してドキュメントを追加する方法を理解できるようにします。
文書をインデックスに追加する
次の手順に従って、ドキュメントをインデックスに追加します-
- ステップ1 *-テキストファイルからLuceneドキュメントを取得するメソッドを作成します。
- ステップ2 *-キーを名前として、値をインデックス付けするコンテンツとして含むキー値ペアであるさまざまなフィールドを作成します。
- ステップ3 *-分析するフィールドを設定するかどうか。 この場合、a、am、are、anなどのデータを含むことができるため、コンテンツのみが分析されます。 検索操作では必要ありません。
- ステップ4 *-新しく作成されたフィールドをドキュメントオブジェクトに追加し、呼び出し元のメソッドに返します。
IndexWriterを作成する
IndexWriterクラスは、インデックス作成プロセス中にインデックスを作成/更新するコアコンポーネントとして機能します。
IndexWriterを作成するには、次の手順に従ってください-
- ステップ1 *-IndexWriterのオブジェクトを作成します。
- ステップ2 *-インデックスを保存する場所をポイントするLuceneディレクトリを作成します。
インデックスディレクトリで作成されたIndexWriterオブジェクトを初期化します。これは、バージョン情報とその他の必須/オプションパラメータを持つ標準アナライザです。
ドキュメントの追加とインデックス作成プロセスの開始
次の2つは、ドキュメントを追加する方法です。
- * addDocument(Document)*-デフォルトのアナライザー(インデックスライターの作成時に指定)を使用してドキュメントを追加します。
- * addDocument(Document、Analyzer)*-提供されたアナライザーを使用してドキュメントを追加します。
応用例
インデックス作成プロセスをテストするには、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. To understand the indexing process, you can also use the project created in EJB - First Application chapter as such for this chapter. |
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 [Test Data]ディレクトリに配置しました。 インデックスディレクトリパスは、 E:\ Lucene \ Index として作成する必要があります。 このプログラムを実行すると、そのフォルダーに作成されたインデックスファイルのリストを見ることができます。
プログラムを実行する
ソースの作成、生データ、データディレクトリ、インデックスディレクトリの作成が完了したら、プログラムをコンパイルして実行するこのステップの準備が整います。 これを行うには、LuceneTester.Javaファイルタブをアクティブにして、Eclipse IDEで使用可能な実行オプションを使用するか、 Ctrl + F11 を使用して LuceneTester アプリケーションをコンパイルおよび実行します。 アプリケーションが正常に実行されると、Eclipse IDEのコンソールに次のメッセージが出力されます-
プログラムを正常に実行すると、* indexディレクトリ*に次のコンテンツが表示されます-