0

こんにちは 私たちのアプリケーションでは、CLOB コンテンツを含むリレーショナル テーブルを多数含む検索メカニズムを探しています。ユーザーがこの情報を検索できるようにするための要件が​​あります。私たちは Oracle Text を調査していますが、これまでのところ、この製品に関する素晴らしいニュースは見つかりませんでした。

データを取得し、このデータにインデックスを付ける何らかのプロセスで CLOB を読み取ることを考えています。ユーザーが検索し、インデックスをテーブルの行 ID にマップして、結果をユーザーに表示します。

これはLuceneが処理するのに適したタスクですか、それとも私が正しく考えていませんか?

4

1 に答える 1

0

CLOB 内のテキストを 1 つのフィールドに追加し、行 ID を別のフィールドに追加できるはずです。CLOB が既に DB に保存されている場合は、Lucene インデックスに再度保存しないでください (Store.NOテキスト フィールドを追加するときに使用します)。行 ID を格納します。ドキュメントが一致すると、結果から行 ID フィールドを取得し、それを使用してテーブルを参照できます。

String rowid = ...; // row id from DB
String text = ...; // data from CLOB;
Document doc = new Document();
doc.add(new Field(FIELD_ID, rowid, Store.YES, Index.NOT_ANALYZED));
doc.add(new Field(FIELD_BODY, text, Store.NO, Index.ANALYZED, TermVector.YES));
于 2011-05-07T07:29:08.953 に答える