The Suggester “FileDictionaryFactory” resolves the sourceLocation parameter against the SolrResourceLoader, and in SolrCloud that’s ZkSolrResourceLoader. The base SolrResourceLoader supports a solr.allow.unsafe.resourceloading=true system property to be set which basically allows you to refer to any file on the file system without being limited to the instance directory of the current core. The ZkSolrResourceLoader is pretty straight-forward and doesn’t have this option. So effectively, if you’re using SolrCloud, your suggester input file needs to go into ZooKeeper. AFAIK, ZooKeeper’s data is all in-memory and, I may be mistaken, but there are limits, like 2G for the whole ZooKeeper state? I’d *really* like to avoid putting this data into ZooKeeper. Does anyone have any suggestions or further input?
I think at this point I may have to approach this by creating a special collection that exists purely for suggest so that I could then use DocumentDictionaryFactory. ~ David
