It seems like NumericFacets.getCounts is using the FieldCache. This is
what we wanted to avoid by using doc-values in the first place - because
we have experienced so many times that the FieldCache makes us go OOM.
We where told that if we used doc-values the FieldCache would not be
used. But then again if doing those kinds of doc-value queries with
docValuesFormat="Disk" will still use enormous amounts of memory
(lineary dependent on the documents managed by the Solr-node) it is not
worth much anyway - compared to FieldCache. And/or if it make us end up
with 100+ secs response-times (on billions of documents all in all, but
only a limited number hit by the query) it is not worth much either.
Will someone please help clarify
* Will this perform significantly be better in 4.5+ (vs 4.4)? Is 100+
secs expected, for a facet search that hits only 6 documents among 12
billion in total, when facet.field is set to a field like c_dstr_doc_sto?
* Will doc-value (docValuesFormat="Disk") still use memory that is
lineary dependent on the total number of documents handled by the
Solr-node, when doing facet searches with facet.field set to one of
those doc-values fields?
Any help is very appreciated!
Regards, Per Steffensen
On 11/6/13 10:58 AM, Per Steffensen wrote:
if (ft.getNumericType() != null && !sf.multiValued()) {
*** ---> The fast/efficient query (facet.field=a_dlng_doc_sto) goes here
// force numeric faceting
if (prefix != null && !prefix.isEmpty()) {
throw new SolrException(ErrorCode.BAD_REQUEST,
FacetParams.FACET_PREFIX + " is not supported on numeric types");
}
counts = NumericFacets.getCounts(searcher, docs, field,
offset, limit, mincount, missing, sort);
} else {