lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Smiley (JIRA)" <>
Subject [jira] [Commented] (SOLR-4676) Share a Lucene FieldType instance instead of creating on each call to createField()
Date Fri, 05 Apr 2013 14:28:14 GMT


David Smiley commented on SOLR-4676:

bq. Why? this is a valid configuration. You might think its odd, but -1 to removing this.

That aspect of my patch was incidental to my objective (share Lucene FieldType) and it doesn't
matter that much to me even though I think it's kinda lame; so I'll put that back in my subsequent
patch to satisfy your concern.

Do you have any other feedback?

bq. For reference, returning null in createField for docvalues-only fields caused SOLR-4647.

Thanks for that reference, Adrien.  The way you worded this suggests it's a problem for createField
to return null.  But that has been a normal accepted behavior of createField that may as well
be set in stone now for Solr.  If I had to start the API from scratch, createField() would
not even exist because the notion that there is exactly one Lucene field per Solr field is
patently false.  I'll add my suggested solution to SOLR-4647 to that issue.
> Share a Lucene FieldType instance instead of creating on each call to createField()
> -----------------------------------------------------------------------------------
>                 Key: SOLR-4676
>                 URL:
>             Project: Solr
>          Issue Type: Improvement
>          Components: Schema and Analysis
>            Reporter: David Smiley
>            Assignee: David Smiley
>            Priority: Minor
>         Attachments: SOLR-4676_Share_Lucene_FieldType_in_SchemaField.patch
> I think the Lucene FieldType instances should be cached on Solr's SchemaField so that
they don't have to be needlessly re-created for each indexed value that runs through Solr
in SchemaField.createField(). The only obstacle I see to this is that getIndexOptions(field,val)
takes the value, and if that value were to alter the logic then the FieldType can't be shared.
This is a protected method and I don't see anything that overrides it, and the default implementation
doesn't use the value. So I think it can be removed.  Patch in progress...

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message