目標は、すべてのフィールド名が次のフィールドのスキーマと一致するようにすることです。
<field name="_version_" type="long" indexed="true" stored="true" />
<field name="_root_" type="string" indexed="true" stored="false" />
<field name="id" type="string" indexed="true" stored="true" required="true" />
<field name="text" type="text_general" indexed="true" stored="false" required="false" multiValued="true" />
<dynamicField indexed="true" name="*_is" stored="true" type="int" multiValued="true" />
<dynamicField indexed="true" name="*_ls" stored="true" type="long" multiValued="true" />
<dynamicField indexed="true" name="*_fs" stored="true" type="float" multiValued="true" />
<dynamicField indexed="true" name="*_ds" stored="true" type="double" multiValued="true" />
<dynamicField indexed="true" name="*_bs" stored="true" type="boolean" multiValued="true" />
<dynamicField indexed="true" name="*_i" stored="true" type="int" />
<dynamicField indexed="true" name="*_s" stored="true" type="string" />
<dynamicField indexed="true" name="*_ss" stored="true" type="string" multiValued="true" />
<dynamicField indexed="true" name="*_txt" stored="true" type="text_general" multiValued="true" />
<dynamicField indexed="true" name="*_t" stored="true" type="text_general" />
<dynamicField indexed="true" name="*_l" stored="true" type="long" />
<dynamicField indexed="true" name="*_b" stored="true" type="boolean" />
<dynamicField indexed="true" name="*_f" stored="true" type="float" />
<dynamicField indexed="true" name="*_d" stored="true" type="double" />
<dynamicField indexed="true" name="*_tdt" stored="true" type="tdate" />
<dynamicField indexed="true" name="*_dt" stored="true" type="date" />
<uniqueKey>id</uniqueKey>
この理由は 2 つあります。
- 私が制御していない受信 CSV データを取り込んでいます。上記の 1 つまたは 2 つである ~35 の異なるフィールド名のセットがあります。
- これらの 35 のフィールドを除いて、スキーマは常に進化しています。
目標は、条件付きで ~35 のサブセットを上記のいずれかに変更し、これらの ~35 の名前のいずれとも一致しないものを追加し_s
て文字列にすることです。
これはSolr 6で可能ですか?