lucene-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Wöckinger (Jira) <j...@apache.org>
Subject [jira] [Commented] (SOLR-13966) LatLonDocValuesField returns unparseable data
Date Wed, 27 Nov 2019 21:47:00 GMT

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

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

Huge on the affected code behavior, because no field does currently overrides stringValue()
, so i was a bit worried about the consequences. Therefore i choose the same way as used in
SolrDocumentFetcher, which does not mean that i can't be done by overriding stringValue()
on  LatLonDocValuesField

> 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
>            Assignee: David Smiley
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


Mime
View raw message