3

Solr 3.6 を使用して、さまざまな種類のドキュメントのインデックスを作成しています。すべてのドキュメントに共通の情報を定義するフィールドがいくつかあります。そのうちの 1 つは「日付」です (理想的には最終更新日で、ドキュメントがどれだけ新しいかを示すものです)。

<field name="date" type="date" indexed="true" stored="true" required="true" />

.docx や .pdf などのリッチ テキスト ドキュメントのインデックスを作成しようとすると、問題が発生します。ExtractingRequestHandler から取得したメタデータを使用して日付フィールドに入力したいのですが、必要な日付情報が格納されるフィールドの名前がファイルごとに異なります。必要なフィールドは「日付」である場合もあれば、「last_modified」または「last_save_date」である場合もあります。ハンドラーで日付を提供するために「last_modified」を使用しようとしていました:

<str name="fmap.last_modified">date</str>

..しかし、これにより、日付が多値 ('date' メタデータがあったため) または未定義 ('last_modified' が存在しなかったため) であるという問題が発生しました。これらのフィールドの少なくとも 1 つからデータを抽出するために、条件付きの copyFields を使用することを検討しましたが、これは複雑に思え (更新ハンドラーを拡張するなど)、この日付情報を含む可能性のあるすべてのフィールドの名前を知っている必要があります。

処理するすべてのリッチ テキスト ドキュメントから確実に日付を抽出する方法はありますか?

4

0 に答える 0