あなたはSolrの中dynamic fieldsを設定することができます。 schema.xmlでは、<fields>
ブロックでは、あなたがこのようなダイナミックなフィールドの定義を設定することができます
<fields>
...
<dynamicField name="*_t" type="text" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="*_s" type="string" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="*_sa" type="string" indexed="true" stored="true" multiValued="true" />
<dynamicField name="*_d" type="date" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="*_f" type="sfloat" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="*_i" type="sint" indexed="true" stored="true" multiValued="false"/>
<dynamicField name="*_ia" type="sint" indexed="true" stored="true" multiValued="true" />
</fields>
をしたい特定の設定が異なる場合がありますが、これは基本的な考え方です。
最初のdynamicField
の定義を考えてみましょう。つまり、_t
で終わるフィールドを動的に追加することができ、これらのフィールドはテキストフィールドとして扱われ、インデックスが付けられ、格納され、(配列ではなく)単一の値として扱われます。
動的フィールド名は必要な数だけ設定できます。使用する名前には意味や慣習がありません。あなたが持っているかもしれない各データタイプのために1つだけdynamicField
の定義を設定してください。
それで、それです。特定のフィールドを定義する必要はなく、設定した接尾辞を使用してください。だから、あなたは上記のフィールドを使用している場合たとえば、あなたが挿入を行うことができます:
category_s = 'realty'
bedrooms_i = 4
それともあなたが挿入を行うことができます:
category_s = 'shirts'
size_s = 'M'