I figured it out. The queries executed by the straight Elasticsearch REST 
test and the Java test are not exactly identical. The difference is that 
the "current date" used by the straight Elasticsearch test is pulled from a 
randomized CSV file whereas the Java service always injects the actual 
current date down to the millisecond. So, even though I switched the query 
and the Java to leverage filters, the straight Elasticsearch REST test is 
the only test that takes advantage of the cache. The Java service query 
doesn't take advantage of the cache because the current date changes every 
millisecond.

To confirm this I hardcoded the milliseconds in both the REST test and the 
Java service. Once I did that, the CPU rates (and everything else) were 
identical.

The other telltale sign that there was a problem was the indices filter 
cache graph in Marvel. Once straight REST test ran once, it could be re-run 
and never cause an increase in what is in the filter cache. The Java 
service, on the other hand, was populating the filter cache every time.

Thanks to everyone that weighed in on this.

Jeff

-- 
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 elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/4a3e2981-7a3b-4e6e-a2f0-ed65fddc9150%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to