[ 
https://issues.apache.org/jira/browse/SOLR-1664?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Noble Paul updated SOLR-1664:
-----------------------------

    Description: 
The following methods are only overridable from FieldType. 
{code:java}
public Field createField(SchemaField field, String externalVal, float boost) ;
protected Field.TermVector getFieldTermVec(SchemaField field,String 
internalVal) ;
protected Field.Store getFieldStore(SchemaField field,String internalVal);
protected Field.Index getFieldIndex(SchemaField field,String internalVal);
public ValueSource getValueSource(SchemaField field, QParser parser);
public Query getRangeQuery(QParser parser, SchemaField field, String part1, 
String part2, boolean minInclusive, boolean maxInclusive) ;
{code}
if there is anything specific to be done on a per-field basis it is not 
possible. if we allow overriding SchemaField it will be more flexible.

I hope this can make it simpler to implement SOLR-1131

So ,there are two ways of overriding a functionality.
* Override Fieldtype#createSchemaField() and provide new implementation of 
SchemaField
* Override methods from FieldType itself(if the behavior is not per field ) as 
it is now

SchemaField is made non-final and Solr only invokes methods on SchemaField and 
not FieldType directly



  was:
The following methods are only overridable from FieldType. 
{code:java}
public Field createField(SchemaField field, String externalVal, float boost) ;
protected Field.TermVector getFieldTermVec(SchemaField field,String 
internalVal) ;
protected Field.Store getFieldStore(SchemaField field,String internalVal);
protected Field.Index getFieldIndex(SchemaField field,String internalVal);
public ValueSource getValueSource(SchemaField field, QParser parser);
public Query getRangeQuery(QParser parser, SchemaField field, String part1, 
String part2, boolean minInclusive, boolean maxInclusive) ;
{code}
if there is anything specific to be done on a per-field basis it is not 
possible. if we allow overriding SchemaField it will be more flexible.

I hope this can make it simpler to implement SOLR-1131

So ,there are two ways of overriding a functionality.
* Override Fieldtype#createSchemaField() and provide new implementation of 
SchemaField
* Override methods from FieldType itself(if the behavior is not per field ) as 
it is now

SchemaField is made non-final and Solr only invokes methods on SchemaField only




> Some Methods in FieldType actually should be in SchemaField
> -----------------------------------------------------------
>
>                 Key: SOLR-1664
>                 URL: https://issues.apache.org/jira/browse/SOLR-1664
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Noble Paul
>             Fix For: 1.5
>
>         Attachments: SOLR-1664.patch
>
>
> The following methods are only overridable from FieldType. 
> {code:java}
> public Field createField(SchemaField field, String externalVal, float boost) ;
> protected Field.TermVector getFieldTermVec(SchemaField field,String 
> internalVal) ;
> protected Field.Store getFieldStore(SchemaField field,String internalVal);
> protected Field.Index getFieldIndex(SchemaField field,String internalVal);
> public ValueSource getValueSource(SchemaField field, QParser parser);
> public Query getRangeQuery(QParser parser, SchemaField field, String part1, 
> String part2, boolean minInclusive, boolean maxInclusive) ;
> {code}
> if there is anything specific to be done on a per-field basis it is not 
> possible. if we allow overriding SchemaField it will be more flexible.
> I hope this can make it simpler to implement SOLR-1131
> So ,there are two ways of overriding a functionality.
> * Override Fieldtype#createSchemaField() and provide new implementation of 
> SchemaField
> * Override methods from FieldType itself(if the behavior is not per field ) 
> as it is now
> SchemaField is made non-final and Solr only invokes methods on SchemaField 
> and not FieldType directly

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to