Hi,

We're in the process of upgrading from 0.90.5 to 1.4.1 and we see a 
significant performance depredation in one of our queries.
A short profiling session shows that the biggest difference is in the 
"nested native script" part of the query (see attached), which accounted 
for about 10% of the total search time in 0.90.5, but now it accounts for 
almost 50% in 1.4.1.
Most of that time is spent in 
org.elasticsearch.search.lookup.DocLookup.get(Object), which in turn calls 
a lot to 
org.elasticsearch.index.fielddata.ordinals.SinglePackedOrdinals$Docs.getOrd(int)
 
and the script looks something like this:

    private Map<String, Double> multipliers;
    public float runAsFloat() {
        ScriptDocValues.Strings term = 
(ScriptDocValues.Strings)doc().get("nested 
document term");
        ScriptDocValues.Doubles strength = (ScriptDocValues.Doubles) doc().
get("nested document term strength");

        double score = multipliers.get(term.getValue()) * (1 + strength.
getValue());
        return (float)score;
    }

Any idea on what changed between 0.90.5 and 1.4.1 that could have caused 
this?
Is there a better way of doing DocLookup that I'm missing?

-- 
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/847a79a0-05a5-450c-a4c4-39ceb49cf0e3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: obfuscated 1.4.1
Description: Binary data

Attachment: obfuscated 0.90.5
Description: Binary data

Reply via email to