Hi Markus,
You are trying to cast to stored field without checking if that is actually 
StoredField. What you can do is check first if StoredField or Float or… and 
cast to appropriate value.

HTH,
Emir
--
Monitoring - Log Management - Alerting - Anomaly Detection
Solr & Elasticsearch Consulting Support Training - http://sematext.com/



> On 20 Dec 2017, at 14:09, Markus Jelsma <markus.jel...@openindex.io> wrote:
> 
> Hello,
> 
> Recently i had to make yet another DocTransformer. It ran fine on my local 
> machine, this is what i get in production, on freshly reindexed data.
> 
> 2017-12-20 12:12:58.987 ERROR (qtp329611835-17) [c:documents s:shard2 
> r:core_node1 x:documents_shard2_replica2] o.a.s.s.HttpSolrCall 
> null:java.lang.ClassCastException: java.lang.Float cannot be cast to 
> org.apache.lucene.document.StoredField
>        at 
> io.openindex.lunar.response.transform.ScoreNormalizingTransformer.transform(ScoreNormalizingTransformer.java:80)
>        at org.apache.solr.response.DocsStreamer.next(DocsStreamer.java:120)
>        at org.apache.solr.response.DocsStreamer.next(DocsStreamer.java:57)
>        at 
> org.apache.solr.response.BinaryResponseWriter$Resolver.writeResultsBody(BinaryResponseWriter.java:126)
>        at 
> org.apache.solr.response.BinaryResponseWriter$Resolver.writeResults(BinaryResponseWriter.java:145)
>        at 
> org.apache.solr.response.BinaryResponseWriter$Resolver.resolve(BinaryResponseWriter.java:89)
> 
> It trips over this line. I need to get the float from the document.
>     StoredField value = (StoredField)doc.get(field);
> 
> I have had this before sometimes with another DocTransformer, i never solved 
> the problem it went away instead.
> 
> Any ideas?
> 
> Many many thanks,
> Markus

Reply via email to