going forward the java based replication is going to be the preferred means replicating index. It does not support replicating files in the dataDir , it only supports replicating index files and conf files (files in conf dir). I was unaware of the fact that it was possible to put the elevate.xml in dataDir.
reloading on commit is a trivial for a search component. it can register itself to be an even listener for commit and do a reload of elevate.xml. This can be a configuration parameter. <str name="refreshOnCommmit">true</str> On Wed, May 6, 2009 at 7:08 PM, Nicolas Pastorino <n...@ez.no> wrote: > > On May 6, 2009, at 15:17 , Noble Paul നോബിള് नोब्ळ् wrote: > >> Why would you want to write it to the data dir? why can't it be in the >> same place (conf) ? > > Well, fact is that the QueryElevationComponent loads the configuration file > ( elevate.xml ) either from the data dir, either from the conf dir. > Which means that existing setups using this component maybe using either > location. > That is the only reason why i judged necessary to keep supporting this > "flexibility". > > But this could be simplified, forcing the elevate.xml file to be in the conf > dir, and having a system ( the one you proposed, or the request handler > attached to the issue ) to reload the configuration from the conf dir ( > which is currently not possible. While when elevate.xml is stored in the > dataDir, triggering a commit would reload it ). > I was just unsure about all ins and outs of the Elevation system, and then > did not remove this flexibility. > > Thanks for your expert eye on this ! > > >> On Wed, May 6, 2009 at 6:43 PM, Nicolas Pastorino <n...@ez.no> wrote: >>> >>> Hello, >>> >>> On May 6, 2009, at 15:02 , Noble Paul നോബിള് नोब्ळ् wrote: >>> >>>> The elevate.xml is loaded from conf dir when the core is reloaded . if >>>> you post the new xml you will have to reload the core. >>>> >>>> A simple solution would be to write a RequestHandler which extends >>>> QueryElevationComponent which can be a listener for commit and call an >>>> super.inform() on that event >>> >>> You may want to have a look at this issue : >>> https://issues.apache.org/jira/browse/SOLR-1147 >>> The proposed solution ( new request handler, attached to the ticket ), >>> solves the issue in both cases : >>> * when elevate.xml is in the DataDir. >>> * when elevate.xml is in the conf dir. >>> >>> Basically this new request handler receives, as XML, the new >>> configuration, >>> writes it to the right place ( some logic was copied from the >>> QueryElevationComponent.inform() code ), and then calls the inform() >>> method >>> on the QueryElevationComponent for the current core, as you suggested >>> above, >>> to reload the Elevate configuration. >>> -- >>> Nicolas >>> >>> >>>> On Fri, Apr 10, 2009 at 5:18 PM, Nicolas Pastorino <n...@ez.no> wrote: >>>>> >>>>> Hello ! >>>>> >>>>> >>>>> Browsing the mailing-list's archives did not help me find the answer, >>>>> hence >>>>> the question asked directly here. >>>>> >>>>> Some context first : >>>>> Integrating Solr with a CMS ( eZ Publish ), we chose to support >>>>> Elevation. >>>>> The idea is to be able to 'elevate' any object from the CMS. This can >>>>> be >>>>> achieved through eZ Publish's back office, with a dedicated Elevate >>>>> administration GUI, the configuration is stored in the CMS temporarily, >>>>> and >>>>> then synchronized frequently and/or on demand onto Solr. This >>>>> synchronisation is currently done as follows : >>>>> 1. Generate the elevate.xml based on the stored configuration >>>>> 2. Replace elevate.xml in Solr's dataDir >>>>> 3. Commit. It appears that when having elevate.xml in Solr's dataDir, >>>>> and >>>>> solely in this case, commiting triggers a reload of elevate.xml. This >>>>> does >>>>> not happen when elevate.xml is stored in Solr's conf dir. >>>>> >>>>> >>>>> This method has one main issue though : eZ Publish needs to have access >>>>> to >>>>> the same filesystem as the one on which Solr's dataDir is stored. This >>>>> is >>>>> not always the case when the CMS is clustered for instance --> show >>>>> stopper >>>>> :( >>>>> >>>>> Hence the following idea / RFC : >>>>> How about extending the Query Elevation system with the possibility to >>>>> push >>>>> an updated elevate.xml file/XML through HTTP ? >>>>> This would update the file where it is actually located, and trigger a >>>>> reload of the configuration. >>>>> Not being very knowledgeable about Solr's API ( yet ! ), i cannot >>>>> figure >>>>> out >>>>> whether this would be possible, how this would be achievable ( which >>>>> type >>>>> of >>>>> plugin for instance ) or even be valid ? >>>>> >>>>> Thanks a lot in advance for your thoughts, >>>>> -- >>>>> Nicolas >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> ----------------------------------------------------- >>>> Noble Paul | Principal Engineer| AOL | http://aol.com >>> >>> -- >>> Nicolas Pastorino >>> Consultant - Trainer - System Developer >>> Phone : +33 (0)4.78.37.01.34 >>> eZ Systems ( Western Europe ) | http://ez.no >>> >>> >>> >>> >>> >> >> >> >> -- >> ----------------------------------------------------- >> Noble Paul | Principal Engineer| AOL | http://aol.com > > -- > Nicolas Pastorino > Consultant - Trainer - System Developer > Phone : +33 (0)4.78.37.01.34 > eZ Systems ( Western Europe ) | http://ez.no > > > > > -- ----------------------------------------------------- Noble Paul | Principal Engineer| AOL | http://aol.com