2017-04-11 12 views
0

データベースから、いくつかのデータが取得され、索引付けされ、luceneを使用して保管されます。Luceneを使用して既に索引付けされたファイルに新しいファイルを追加します

その後、さらにいくつかのデータがdbに追加され、これらの新しく追加されたデータのみをインデックス付けし、既存のインデックス付きファイルに追加する必要があります。

プログラムで説明できますか?

+0

Luceneに関する質問をするときは、常に使用しているバージョンを指定してください。 –

答えて

0

増分索引付けこれは索引付け側ではなく、データベースからのデータ(ターゲット文書)の選択アプローチについてはそれほどありません。

SQL SELECTクエリは、新しく追加/更新された行を識別する列を使用するのに十分な柔軟性を持たせる必要があります。カラムはすなわち、通常のようなものDATE列である

からLAST_ADDED_DTLAST_UPDT_DTので、あなたがレコードをフェッチすることができますが、最後のX日に更新/追加、時間など

例えばをxはDB2上のような、WHERE DATE(LAST_UPDT_DT) >= CURRENT DATE - 2 DAY

最後の2日間で、更新あなたの記録を与えるだろうし、その後updateDocument(...)は、文書が新しい文書であればドキュメントを追加し、文書がすでに存在する場合は更新しますので、代わりにaddDocument(...)のLuceneの作家のupdateDocument(...)メソッドを使用します。

このアプローチでは、更新された既存の行と新しい行が処理されます。

Luceneは新しいファイルを作成するか、既存のファイルに追加することは頭痛ではなく、Luceneはそのバージョンの設定と構造に従ってファイルを整理します。

あなたはOpenMode.CREATE_OR_APPENDモードであなたの作家を開く必要があります。

これが役立ちますように!

+0

はい、インクリメンタルなインデックス作成です。私は最後に追加されたファイルだけを取ることができ、それについて気にしません。問題は、既に索引付けされたファイルを含むファイルを追加することです。だから、既にインデックスを付けられたファイルで新しく索引付けされたファイルを追加するサンプルプログラムを手伝ってもらえますか? –

関連する問題