solr がより許容できる方法でドキュメントをインデックス化することは可能ですか?
現在、スキーマに 100% 適合しないデータにインデックスを付けようとすると、常に SolrException が発生します。とにかくsolrがドキュメントにインデックスを付けて、正しくないフィールドの例外を出力できるとよいでしょう。
solr がより許容できる方法でドキュメントをインデックス化することは可能ですか?
現在、スキーマに 100% 適合しないデータにインデックスを付けようとすると、常に SolrException が発生します。とにかくsolrがドキュメントにインデックスを付けて、正しくないフィールドの例外を出力できるとよいでしょう。
solr が実行されているサーバーにアクセスでき、ログを見ることができる場合、solr はこの情報を提供します。ダウンロード内の例で見つけることができる特定のタイプのすべてをキャプチャするスキーマに入れることができる設定があります
他のすべての検索可能なテキスト フィールドを含む catchall フィールド (このスキーマでさらに copyField を介して実装されます)
<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
@Si Philpの回答を少し拡張します。Solr ディストリビューションに付属するschema.xmlの例を見ると、次のエントリが表示されます。
<!-- uncomment the following to ignore any fields that don't already match an existing
field name or dynamic field, rather than reporting them as an error.
alternately, change the type="ignored" to some other type e.g. "text" if you want
unknown fields indexed and/or stored by default -->
<!--dynamicField name="*" type="ignored" multiValued="true" /-->
<!-- since fields of this type are by default not stored or indexed,
any data added to them will be ignored outright. -->
<fieldtype name="ignored" stored="false" indexed="false" multiValued="true"
class="solr.StrField" />
これにより、まだ定義されていないフィールドのスキーマに動的な定義が作成され、無視されます。ただし、無視されているフィールド/値のインジケーターは表示されません。