Hi. I'm confused by the UUID type comment. It's said that
/** * Generates a UUID if val is either null, empty or "NEW". * * Otherwise it behaves much like a StrField but checks that the value given * is indeed a valid UUID. * * @param val The value of the field * @see org.apache.solr.schema.FieldType#toInternal(java.lang.String) */ However, i found that if i don't specify the field and it will report the exception org.apache.solr.common.SolrException: Document [test] missing required field: id Surely when i set it to "NEW", it will work as expected. I want to know that is this a expected way or should be possible a bug? The related codes should be: for (SchemaField field : schema.getRequiredFields()) { if (out.getField(field.getName() ) == null) { * if (field.getDefaultValue() != null) { // Here because the default value is null. I think we should judge whether it's a UUID field. out.add( field.createField( field.getDefaultValue(), 1.0f ) ); } * else { String id = schema.printableUniqueKey( out ); String msg = "Document ["+id+"] missing required field: " + field.getName(); throw new SolrException( SolrException.ErrorCode.BAD_REQUEST, msg ); } } } Thanks for help. Best regards. sishen