: We are currently working on having Solr files read from HDFS. We extended
: some of the classes so as to avoid modifying the original Solr code and
: make it compatible with the future release. So here comes the question, I
: found in QueryElevationComponent, there is a piece of code checking whether
: elevate.xml exists at local file system. I am wondering if there is a way
: to by pass this?

I haven't looked closely, but i suspect this code is just kind of old and 
could be cleaned up to play more nicely with SolrCloud (and thus your HDFS 
work as well)

The teory behind this code is that we wnat to support two distinct use 
cases: reading the elevation file either from config (once on SolrCore 
creation) or from data (on every Indexreader reload).

the use of getConfigDir() to check for the elevation file could probably 
be replaced by a straight call to openResource (with null check).  the 
check for the elevation file in the data dir could ... maybe? .. be 
delegated to the DirectoryFactory? ... i'm not sure about that part, i 
havne't kept close tabs on some of hte improvements miller has made with 
that abstraction lately.

(BTW: I think some of this was also already fixed in SOLR-3522, but i 
haven't looked at how exactly)


The simplest answer would be just recognize that not every feature of solr 
can work in conjunction with every possible solr plugin -- perhaps if 
people wnat to use your "HdfsDirectoryFactory" they just have to accept 
that they can only use the "conf" style elevate.xml instead of the "data" 
option?


-Hoss

Reply via email to