schema.xml
を別のコアに設定することもできます。既存のschema.xml
を使用する場合は、dynamic fields
を使用して、今後別のフィールド追加する必要があります。
動的フィールドを使用できます。
動的フィールドでは、スキーマで明示的に定義しなかったフィールドのインデックスを作成できます。
これは、1つ以上のフィールドを定義することを忘れてしまった場合に便利です。動的フィールドを使用すると、Solrに追加できるドキュメントに柔軟性を持たせることで、アプリケーションを脆弱にすることがあります。
ダイナミックフィールドは、ワイルドカードを含む名前を除いて、通常のフィールドと同じです。文書を索引付けするとき、明示的に定義されたフィールドと一致しないフィールドは、動的フィールドと一致させることができます。
たとえば、スキーマに名前が*_i
の動的フィールドが含まれているとします。
あなたはcost_i
フィールドでインデックスにドキュメントを試みますが、明示的なcost_i
フィールドはスキーマで定義されていない場合、cost_iフィールドが*_i
用に定義されたフィールドタイプと分析しています。
通常のフィールドと同様に、動的フィールドには名前、フィールドタイプ、およびオプションがあります。
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>
SearchTermは何ですか...? schema.xmlに追加する別のフィールドですか? –
は、ユーザーがアプリケーションの検索ボックスから検索したものです。はい、私はこのsearchtermのインデックスを作成する必要があるので、私は同様にフィールドを追加する必要がありますね。しかし、すべてのフィールドが製品固有のものであるため、既存のスキーマファイルにフィールドを追加するのは良い方法ではないと思っていました。どうすれば管理できますか? – Ankita
これには別のコアを用意し、新しいschema.xmlを定義することもできますし、既存のschema.xmlを使用する場合は、動的なフィールドを利用して将来的に気にする必要がないようにすることもできますフィールドを追加する必要があります.. –