Thomas Wöckinger created SOLR-13966:
---------------------------------------
Summary: 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: 8.3, master (9.0), 8.3.1
Reporter: Thomas Wöckinger
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: [email protected]
For additional commands, e-mail: [email protected]