Using elasticsearch 1.3.4

I have an index with user events and I'm trying to use function_score to 
get a sensible order by date (without using sort). The query below works, 
but only for relatively small result sets. While trying to test whether 
this orders things correctly (following up on a report that they were not), 
I ran into this error while trying the query with 10K events spread over 
1000 days. With just a 100 days it works fine. But with 10000 events and 
some a few years back the gauss of 10d seems to trigger some corner case in 
elasticsearch that produces an error.

Query Failed [Failed to execute main query]]; nested: AssertionError[input 
4.3876046562428303E-75 out of float scope for function score deviation: 
1.0]; }

I've since changed the query slightly to using exp decay function with 365d 
and that seems to work better for my usecase. However, I'm wondering 
whether gauss throwing an error like this should be considered a bug? Why 
not simply round to 0 if the difference becomes to small to be meaningful?

Here's the original query. Note, it is programmatically generated and can 
be a lot more complex, which is why I like using a function_score here 
instead of a sort. But if you are wondering about the nested term filter, 
that's the reason.
{ 
"from":0, 
"size":100000, 
"version":true, 
"query":{ 
"filtered":{ 
"query":{ 
"function_score":{ 
"query":{ 
"match_all":{ 
}}, 
"score_mode":"max", 

"functions":[ 
{ 
"gauss":{ 
"event_at":{ 
"origin":"2014-10-06T15:51:35Z", 
"scale":"10d" 
}}}]}}, 
"filter":{ 
"and":[ 
{ 
"or":[ 
{ 
"term":{ 
"user_id":"GqIxYkaEz_L0_7Ge299X6Q" 
}}]}]}}}}

-- 
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/531330c4-3fda-4c16-8780-243bcfab76d8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to