0

CSVupdateHandlerを使用してCSVファイルをSolrにインデックス付けしています。私のCsvファイルには、すべての行に可変数のフィールドがあります(たとえば、1行目に4フィールド、2行目に6フィールドなど)。

      line1:field1,field2,field3,field4 
      line2:field1,field2,field3,field4,field5,field6
      line3:field1,field2,field3,field4 

それで、フィールド名の変数番号を指定する方法はありますか?私がやりたいのは、フィールドが4つある場合は4つの列にインデックスを付け、6つある場合は6にインデックスを付けることです。これを達成するための他の代替方法もありがたいです:)ありがとう!

アップデート :

let me describe the situation ....

上記のようなCSVデータを含むファイルがあります。fieldnamesパラメーターを使用して、Solrが使用する必要のあるフィールド名を指定します。私のファイルのすべてのLINEにはCSValueの設定数がないため、いくつかの行にnull値を埋め込む必要がない限り、このファイルに標準ヘッダーを設定することはできません。例えば。6つのヘッダーフィールドが定義された上記のファイルをアップロードすると、1行目と3行目でエラーがスローされ、4つのヘッダーフィールドを使用すると2行目でエラーがスローされます。上記のようなヘッダーフィールドを指定する方法があるかどうかはわかりません。条件は機能します...または、ファイルをダミー値が埋め込まれた等長フィールドに変換する必要がありますか?

4

2 に答える 2

0

これを解決しました:schema.xmlでデフォルト値を使用してカスタムフィールドを指定します。一部の行の余分な2つのフィールドを説明するために!提供されているschema.xmlにはたくさんの例があります!!

代替:uは、カスタムupdateRequestProcessorを定義し、javaを使用して条件に基づいてフィールドを追加することもできます。このプロセッサを、リクエストハンドラの更新プロセッサチェーンの一部として指定します。

于 2013-01-29T09:29:08.747 に答える
0

5列目と6列目を何にマップしますか?どういうわけか、Solrに知らせる必要がありますか?その場合、不足しているアイテムに対して空のコマを実行するだけです。

一方、単一のフィールドに複数の値を提供しようとしている場合は、フィールドセパレータを別の値に設定し、値のセパレータとしてコマを使用する必要があります。

Solrに何を見てもらいたいかを考えて、そこから逆方向に作業してみてください。

于 2013-01-25T19:22:16.570 に答える