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.
obfuscated 1.4.1
Description: Binary data
obfuscated 0.90.5
Description: Binary data
