Hi, Since we plan to share the same box among multiple solr instances on a 16gb RAM multi core box, Need to estimate how much memory we need for our application.
The index size is on disk 2.4G with close to 3 million documents. The plan is to use dismax query with some fqs. Since we do not sort the results, the sort will be by score which eliminates the option "userFiterFprSortedQuerries". Thus assuming all q's will use query result cache and all fqs will use filter caches the below is what i am thinking. I would like to know how to relate the index size on disk to its memory size ? Would it be safe to assume gven the disk size of 2.4g, that we can have ram size for whole index plus 1g for any other overhead plus the cache size which comes to 150MB (calculation below). Thus making it around 4g. cache size calculation - -------------------------------- query result cache - size = 50K; since we paginate the results and each page has 10 items and assuming each user will at the max see 3 pages, per query we will set queryResultWindowSize to 30. Assuming this, for 50k querries we will use up 50000* 30 bits = 187K asuming results are stored in bitset. we use few common fqs, lets say 200. Assuming each returns around 30k documents, it adds to 200 * 30000 bits = 750K. If we use document cache of size 20K, assuming each document size is around 5k at the max, it will take up 20000 * 5= 100MB. Thus we can increase the cache more drastically and still it will use up only 150MB or less. Is this reasoning on cache's correct ? Thanks Preetam