Yes, it is better to use ints for ids than strings. Also, the Trie int fields have a compressed format that may cut the storage needs even more. 8m * 4 = 32mb, times "a few hundred", we'll say 300, is 900mb of IDs. I don't know how these fields are stored, but if they are separate objects we've blown up to several gigs (per-object overheads are surprising).
4G is probably not enough for what you want. If you watch the total memory with 'top' and hit it with different queries, you will get a stronger sense of how much memory your use cases need. On Tue, Jun 29, 2010 at 4:32 PM, Robert Petersen <rober...@buy.com> wrote: > Hello I am trying to find the right max and min settings for Java 1.6 on 20GB > index with 8 million docs, running 1.6_018 JVM with solr 1.4, and am > currently have java set to an even 4GB (export JAVA_OPTS="-Xmx4096m > -Xms4096m") for both min and max which is doing pretty well but occasionally > still getting the below OOM errors. We're running on dual quad core xeons > with 16GB memory installed. I've been getting the below OOM exceptions still > though. > > Is the memsize mentioned in the INFO for the uninvert in bytes? Ie is > memSize=29604020 mean 29MB? We have a few hundred of these fields and they > contain ints used as IDs, and so I guess could they eat all the memory to > uninvert them all after we apply load and enough queries are performed. Does > the field type matter, would int be better than string if these are lookup > ids sparsely populated across the index? BTW these are used for faceting and > filtering only. > > <dynamicField name="*_contentAttributeToken" type="string" > indexed="true" multiValued="true" stored="true" required="false"/> > > Jun 29, 2010 3:54:50 PM org.apache.solr.request.UnInvertedField uninvert > INFO: UnInverted multi-valued field > {field=768_contentAttributeToken,memSize=29604014,tindexSize=50,time=1841,phase1=1824,nTerms=1,bigTerms=0,termInstances=18,uses=0} > Jun 29, 2010 3:54:52 PM org.apache.solr.request.UnInvertedField uninvert > INFO: UnInverted multi-valued field > {field=749_contentAttributeToken,memSize=29604020,tindexSize=56,time=1847,phase1=1829,nTerms=143,bigTerms=0,termInstances=951,uses=0} > Jun 29, 2010 3:54:59 PM org.apache.solr.common.SolrException log > SEVERE: java.lang.OutOfMemoryError: Java heap space > at > org.apache.solr.request.UnInvertedField.uninvert(UnInvertedField.java:191) > at > org.apache.solr.request.UnInvertedField.<init>(UnInvertedField.java:178) > at > org.apache.solr.request.UnInvertedField.getUnInvertedField(UnInvertedField.java:839) > at > org.apache.solr.request.SimpleFacets.getTermCounts(SimpleFacets.java:250) > at > org.apache.solr.request.SimpleFacets.getFacetFieldCounts(SimpleFacets.java:283) > at > org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:166) > -- Lance Norskog goks...@gmail.com