We have a Solr core that has about 250 TrieIntField
s (declared as dynamicField
). There are about 14M docs in our Solr index and many documents have
We have a way to rework the schema by keeping a single sort field. The dynamic fields we have are like relevance_CLASSID
. The current schema has a unique key NODEID
and a multi-valued field CLASSID
- the relevance scores are for these class Ids. If we instead keep one document per classId per nodeId i.e. the new schema will have NODEID:CLASSID
as unique key and store some redundant information across documents with the same NODEID
, then we can sort on a single field relevance
and do a filter query on CLASSID.
I think you have two options:
1) Add more memory.
2) Force Solr not to use the field cache by specifying facet.method=enum
, as per documentation.
There's also a solr-user mailing list thread discussing the same problem.
Unless your index is huge, I'd go with option 1). RAM is cheap these days.