Hello Nikolas,

Thanks for your reply. I have done something like what you have just 
explained. I divide the score by 5000 before returning it. Doing this, I 
remove milliseconds and I keep a precision of 5 seconds, which I expect to 
be enough. If it's always a problem, I may try to remove some years from 
the date in order to get a smallest number.

I think that using sort is an hard work since I have something like this in 
my documents :

a: {

b: {

objectsSortableByDate: [ 

... 

]

},

c: {

objectsSortableByDate: [

... 

] 

} 

}

I want to filter my entities according the smallest (or highest) date of 
any "objectsSortableByDate" (whatever they are in b or in c), and sometime, 
I may have more than two nested objects, so, I think that the easiest way 
to sort is using a computed score. If you have a better idea, I will take 
it :)

Loïc

Le mercredi 30 avril 2014 14:48:37 UTC+2, Nikolas Everett a écrit :
>
> Scores are Java floats so I'd expect them to be less precise then the long 
> that getTime returns.  I believe you could look at sorting rather then 
> scoring or look at reducing the precision on the top bits of your long.  
> You know, y2k bug style.
>
> The reason the score is a float is that for text scoring its exact 
> enough.  Also, some of the lucene data structures are actually more lossy 
> then float.  The field norm, iirc, is a floating point number packet into 8 
> bits rather the float's 32.
>
> Nik
>
>
> On Wed, Apr 30, 2014 at 5:56 AM, Loïc Wenkin <[email protected]<javascript:>
> > wrote:
>
>> Hello everybody,
>>
>> I am using the function_score query in order to compute a custom score 
>> for items I am indexing into ElasticSearch. I am using a native script 
>> (written in Java) in order to compute my score. This score is computed 
>> based on a date (Date.getTime()). When I use a logger and look what is 
>> returned by my native script, I get what I want, but when I look at the 
>> score of items returned by query (I use the replace mode), I get a 
>> truncated number (e.g. if a computed score displayed in the native script 
>> with the value 1 392 028 423 243, it is returned with the value 1 392 028 
>> 420 000 as score of returned items). The problem here is that I am loosing 
>> milliseconds and seconds (I only get the decade part of seconds). Loose 
>> milliseconds can be acceptable, but I can't loose seconds.
>>
>> Is this problem a limitation of ElasticSearch ? Is there any way to 
>> workaround this problem ?
>>
>> Thanks in advance for your replies.
>>
>> Regards,
>> Loïc Wenkin
>>  
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "elasticsearch" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elasticsearch/ccf7c19e-aa70-42ac-a4a4-d7174ab0de49%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/ccf7c19e-aa70-42ac-a4a4-d7174ab0de49%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/c003b925-0766-4750-a722-3125a77c3774%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to