Return-Path: Delivered-To: apmail-lucene-solr-user-archive@minotaur.apache.org Received: (qmail 89071 invoked from network); 6 May 2009 12:52:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 6 May 2009 12:52:57 -0000 Received: (qmail 14997 invoked by uid 500); 6 May 2009 12:52:56 -0000 Delivered-To: apmail-lucene-solr-user-archive@lucene.apache.org Received: (qmail 14945 invoked by uid 500); 6 May 2009 12:52:55 -0000 Mailing-List: contact solr-user-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: solr-user@lucene.apache.org Delivered-To: mailing list solr-user@lucene.apache.org Received: (qmail 14935 invoked by uid 99); 6 May 2009 12:52:55 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 May 2009 12:52:55 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [85.19.74.84] (HELO mta1.ez.no) (85.19.74.84) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 06 May 2009 12:52:46 +0000 Received: from [192.168.1.7] (gai69-1-87-91-102-67.dsl.club-internet.fr [87.91.102.67]) (Authenticated sender: nfrp@mail.ez.no) by mta1.ez.no (Postfix) with ESMTP id 9599B4A1E9F for ; Wed, 6 May 2009 14:52:23 +0200 (CEST) Mime-Version: 1.0 (Apple Message framework v753.1) In-Reply-To: <6E513E16-B2B6-4BA9-8603-AA86E716B397@gmail.com> References: <6E513E16-B2B6-4BA9-8603-AA86E716B397@gmail.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <22F8B71E-EC24-4156-A3CD-24C0E17F4915@ez.no> Content-Transfer-Encoding: 7bit From: Nicolas Pastorino Subject: Re: QueryElevationComponent : hot update of elevate.xml Date: Wed, 6 May 2009 14:52:21 +0200 To: solr-user@lucene.apache.org X-Mailer: Apple Mail (2.753.1) X-Virus-Checked: Checked by ClamAV on apache.org Hi, On Apr 10, 2009, at 16:51 , Ryan McKinley wrote: > > On Apr 10, 2009, at 7:48 AM, Nicolas Pastorino 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 ? > > > Perhaps look at implementing custom RequestHandler: > http://wiki.apache.org/solr/SolrRequestHandler > > maybe it could POST the new elevate.xm and then save it to the > right place and call commit... Thanks Ryan for your answer. Here is the related issue in JIRA : https://issues.apache.org/jira/ browse/SOLR-1147 It includes a Request Handler, as you advised, which takes care of all this. I guess we can follow up on this on JIRA from now on. -- Nicolas eZ Systems