lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "alex (JIRA)" <>
Subject [jira] Created: (LUCENE-1649) numerical problem associated with CustomScoreQuery, ValueSourceQuery
Date Thu, 21 May 2009 00:21:45 GMT
numerical problem associated with CustomScoreQuery, ValueSourceQuery

                 Key: LUCENE-1649
             Project: Lucene - Java
          Issue Type: Bug
          Components: Search
    Affects Versions: 2.4.1
         Environment: OpenSuse 10.3  32bit kernel , JDK 1.6.0_13, Pentium D 3.2GHz
            Reporter: alex

float type computation used in subclasses of FieldCacheSource ,ValueSourceQuery , will cause
numerical error when moderately large int values were supplied in a field. 
For example, consider a document with a field parsable as integer with the value 24118569
During scoring, a cast will be performed like so, (float) 24118569, in order to get the float
representation of the field. 
In this case the value is turned into 24118568.0. If this value is then used to lookup a database
the result will be incorrect even if we 
cast it back to an integer. 

my temporal resolution to this problem is by attaching the int[] array from lucene's internal
cache to the query object through reflection, 
and perform the value lookup myself with docid. Clearly , this is not optimal . 

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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message