Dear all,

I have created an index with aprox. 1.1 billion of documents (around 500GB)
running on Solr 1.4.1. (64 bit JVM).

I want to enable faceted navigation on am int field, which contains around
250 unique values.
According to the wiki there are two methods:

facet.method=fc which uses field cache. This method should use MaxDoc*4
bytes of memory which is around: 4.1GB.

facet.method=enum which crated a bitset for each unique value. This method
should use NumberOfUniqueValues * SizeOfBitSet which is around 32GB.

Are my calculations correct?

My memory settings in Tomcat (windows) are:
Initial memory pool: 4096 MB
Maximum memory pool: 8192 MB (total 12GB in my test machine)

I have tried to run a query
(...&facet=true&facet.field=PublisherId&facet.method=fc) but I am still
getting OOM:

HTTP Status 500 - Java heap space java.lang.OutOfMemoryError: Java heap
space at
org.apache.lucene.search.FieldCacheImpl$StringIndexCache.createValue(FieldCacheImpl.java:703)
at
org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:224)
at
org.apache.lucene.search.FieldCacheImpl.getStringIndex(FieldCacheImpl.java:692)
at
org.apache.solr.request.SimpleFacets.getFieldCacheCounts(SimpleFacets.java:350)
at org.apache.solr.request.SimpleFacets.getTermCounts(SimpleFacets.java:255)
at
org.apache.solr.request.SimpleFacets.getFacetFieldCounts(SimpleFacets.java:283)
at
org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:166)
at
org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:72)
at
...

Any idea what am I doing wrong, or have I miscalculated the memory
requirements?

Many thanks,
Rok

Reply via email to