[ 
https://issues.apache.org/jira/browse/SOLR-13966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16981235#comment-16981235
 ] 

Thomas Wöckinger commented on SOLR-13966:
-----------------------------------------

The fix works, but i need to write a unit test for this behavior. [~dsmiley] my 
you can forward this issue to the responsible person, in the meantime i will 
try to implement a test, thx a lot.

> LatLonDocValuesField returns unparseable data
> ---------------------------------------------
>
>                 Key: SOLR-13966
>                 URL: https://issues.apache.org/jira/browse/SOLR-13966
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Schema and Analysis, UpdateRequestProcessors
>    Affects Versions: master (9.0), 8.3, 8.3.1
>            Reporter: Thomas Wöckinger
>            Priority: Major
>
> LatLonDocValuesField is used by LatLonPointSpatialField field type to store 
> doc values. It does this by encoding the two double values into a long. If 
> the field is part of a document which takes place within a atomic update 
> operation RealTimeGetComponent is used to load the field values from the 
> index. 
> If the request is a nested request (line number 654: isNestedRequest is set 
> by DistributedUpdateProcessor to Resolution.ROOT_WITH_CHILDREN) all field 
> values from the schema are copied into a SolrInputDocument (line 678).
> The copy is implemented by toSolrInputDocument method (line 728 of 
> RealTimeGetComponent). The method retrieves the FieldType of the SchemaField 
> and calls the toObject method (line 740). In case of LatLonPointSpatialField 
> type, when docValues is set to true and stored is set to false, the fieldData 
> is stored by a  LatLonDocValuesField instance.
> The toObject method is implemented by the base class FieldType toExternal 
> with the LatLonDocValuesField instance (line 373). In line 359 the method 
> stringValue of the Field is called. The default implementation (line 259) 
> checks if the fieldsData is either CharSequence or a Number and calls 
> fieldsData.toString.
> Because fieldsData is of type Long in LatLonDocValuesField class the value is 
> not decoded correctly.
> From my opinion LatLonDocValuesField must implement (override) the 
> stringValue method and return the decoded value.
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to