0

以前の応答に感謝します。私は次のファイルを持っています。/update/csv ハンドラーを使用して、これを solr にインデックス付けしています! 私の質問は、最初のフィールドを日付として必要な形式にインデックス化する前に、このファイルを変換する必要がありますか...またはマップパラメーターを使用して同じことを達成できますか..

    2011-12-16 21:16:36,510 Total: 2139 Free: 1569
    2011-12-16 21:17:07,593 Total: 2139 Free: 1572
    2011-12-16 21:17:38,819 Total: 2139 Free: 1572
    2011-12-16 21:18:09,789 Total: 2138 Free: 1567
    2011-12-16 21:18:40,667 Total: 2139 Free: 1580

私はマップパラメータを使ってみました..

fieldnames=logged_dt,val_s

f.logged_dt.map=* *:*T*Z

基本的に、各行をこれに変換したい

    2011-12-16T21:16:36Z,510 Total: 2139 Free: 1569

そのため、指定された日付形式に準拠しています..! 何か足りない?map パラメーターを使用してそれを行うことはできますか、それとも入力ファイルを変換する必要がありますか?

4

1 に答える 1

0

すべての Update ハンドラーはフォーマットと日付に関して非常に厳密であり、通常最も影響を受けます。

したがって、これを CSV で直接行うことはできません。また、mapは正規表現をサポートしていません。値を直接指定するだけです。

ただし、 solrconfig.xml のupdate.chainパラメータを使用して任意のリクエスト プロセッサに追加できるUpdate Request Processorを使用できます。最善の策は、RegexReplaceProcessorFactoryを使用することです(Solr 4 が必要です)。グループ置換を含む標準の Java 正規表現を使用します。

于 2013-01-28T15:10:03.683 に答える