You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by gi...@gmx.de on 2008/11/17 15:27:01 UTC

Using properties from core configuration in data-config.xml

Hello,

is it possible to use properties from core configuration in data-config.xml?
I want to define the "baseDir" for DataImportHandler.


I tried the following configuration:


*** solr.xml ***

<solr persistent="false">
  <cores adminPath='null'>
    <core name="core0" instanceDir="/opt/solr/cores/core0">
     <property name="solrDataDir" value="/opt/solr/cores/core0/data" />
      <property name="xmlDataDir" value="/home/xml/core0" />
    </core>
    ...
  </cores>
</solr>




*** data-config.xml ***

<dataConfig>
 <dataSource type="FileDataSource" />
  <document>
   <entity name="xmlFile"
     processor="FileListEntityProcessor"
     baseDir="${xmlDataDir}"
     fileName="id-.*\.xml"
     rootEntity="false"
     dataSource="null">
     <entity name="data"
      pk="id"
      url="${xmlFile.fileAbsolutePath}"
      processor="XPathEntityProcessor"
...
</dataConfig>



But this is the result:

...
Nov 17, 2008 1:50:08 PM org.apache.solr.handler.dataimport.DataImporter doFullImport
INFO: Starting Full Import
Nov 17, 2008 1:50:08 PM org.apache.solr.core.SolrCore execute
INFO: [posts-politics] webapp=/solr path=/dataimport params={optimize=true&commit=true&command=full-import&qt=/dataimport&wt=javabin&version=2.2} status=0 QTime=66 
Nov 17, 2008 1:50:08 PM org.apache.solr.core.SolrCore execute
INFO: [posts-politics] webapp=/solr path=/dataimport params={qt=/dataimport&wt=javabin&version=2.2} status=0 QTime=0 
Nov 17, 2008 1:50:08 PM org.apache.solr.update.DirectUpdateHandler2 deleteAll
INFO: [posts-politics] REMOVING ALL DOCUMENTS FROM INDEX
Nov 17, 2008 1:50:08 PM org.apache.solr.handler.dataimport.DataImporter doFullImport
SEVERE: Full Import failed
org.apache.solr.handler.dataimport.DataImportHandlerException: 'baseDir' should point to a directory Processing Document # 1
 at org.apache.solr.handler.dataimport.FileListEntityProcessor.init(FileListEntityProcessor.java:81)
...




I tried also to configure all dataimport settings in solrconfig.xml, but I don't know how to do this exactly. Among other things, I tried this format:


*** solrconfig.xml ***

...
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
 <lst name="defaults">
  <lst name="datasource">
   <str name="type">FileDataSource</str>
   <lst name="document">
    <lst name="entity">
     <str name="name">xmlFile</str>
     <str name="processor">FileListEntityProcessor</str>
     <str name="baseDir">${xmlDataDir}</str>
     <str name="fileName">id-.*\.xml</str>
     <str name="rootEntity">false</str>
     <str name="dataSource">null"</str>
     <lst name="entity">
       <str name="name">data</str>
       <str name="pk">id</str>
       <str name="url">${xmlFile.fileAbsolutePath}</str>
     ...
</requestHandler>
...



But all my tests (with different "dataimport" formats in solrconfig.xml) failed:


...
INFO: Reusing parent classloader
Nov 17, 2008 2:18:14 PM org.apache.solr.common.SolrException log
SEVERE: Error in solrconfig.xml:org.apache.solr.common.SolrException: No system property or default value specified for xmlFile.fileAbsolutePath
        at org.apache.solr.common.util.DOMUtil.substituteProperty(DOMUtil.java:311)
        at org.apache.solr.common.util.DOMUtil.substituteProperties(DOMUtil.java:264)
...



Thanks again for your excellent support!

Gisto

-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

Re: Using properties from core configuration in data-config.xml

Posted by Noble Paul നോബിള്‍ नोब्ळ् <no...@gmail.com>.
Thanks gistolero.
I have added this to the FAQ
http://wiki.apache.org/solr/DataImportHandlerFaq

On Wed, Nov 19, 2008 at 2:34 AM,  <gi...@gmx.de> wrote:
> Very cool :-)
>
> Both suggestions work fine! But only with solr version 1.4:
> https://issues.apache.org/jira/browse/SOLR-823
>
> Use a nightly build (e.g. 2008-11-17 works):
> http://people.apache.org/builds/lucene/solr/nightly/
>
> See below for examples for both solutions...
>
>
>
> ((( 1 )))
>
>> There may be one way to do this.
>>
>> Add your property in the invariant section of solrconfig's
>> DataImportHandler
>> element. For example, add this section:
>>
>> <lst name="invariants">
>>       <str name="xmlDataDir">${xmlDataDir}</str>
>> </lst>
>>
>> Then you can use it as ${dataimporter.request.xmlDataDir} in your
>> data-config to access this.
>
>
>
> // *** solr.xml ***
> <solr persistent="false">
>    <cores adminPath='null'>
>        <core name="core1" instanceDir="/opt/solr/cores/core1">
>            <property name="xmlDataDir" value="/home/core1" />
>        </core>
>        <core name="core2" instanceDir="/opt/solr/cores/core2">
>            <property name="xmlDataDir" value="/home/core2" />
>        </core>
>    </cores>
> </solr>
>
>
>
> // *** solrconfig.xml ***
>  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
>    <lst name="defaults">
>      <str name="config">./data-config.xml</str>
>    </lst>
>
>  <lst name="invariants">
>    <str name="xmlDataDir">${xmlDataDir}</str>
>  </lst>
> </requestHandler>
>
>
>
> // *** data-config.xml ***
> <dataConfig>
>  <dataSource type="FileDataSource" />
>    <document>
>      <entity name="xmlFile"
>        processor="FileListEntityProcessor"
>        baseDir="${dataimporter.request.xmlDataDir}"
>       ...
> </dataConfig>
>
>
> URL for full-import:
> http://localhost:8983/solr/core1/dataimport?command=full-import&commit=true
>
>
>
>
> ((( 2 ))))
>
>
>> > nope . It is not possible as of now. the placeholders are not aware of
>> > the core properties.
>> > Is it possible to pass the values as request params? Request
>> > parameters can be accessed .
>
>
> // *** data-config.xml ***
> <dataConfig>
>  <dataSource type="FileDataSource" />
>    <document>
>      <entity name="xmlFile"
>        processor="FileListEntityProcessor"
>        baseDir="${dataimporter.request.xmlDataDir}"
>       ...
> </dataConfig>
>
>
> URL for full-import:
> http://localhost:8983/solr/core1/dataimport?command=full-import&commit=true&xmlDataDir=%2Fhome%2Fcore1
>
>
> Thats all.
> Gisto
>
>
>
>> > On Mon, Nov 17, 2008 at 7:57 PM,  <gi...@gmx.de> wrote:
>> > > Hello,
>> > >
>> > > is it possible to use properties from core configuration in
>> > data-config.xml?
>> > > I want to define the "baseDir" for DataImportHandler.
>> > >
>> > >
>> > > I tried the following configuration:
>> > >
>> > >
>> > > *** solr.xml ***
>> > >
>> > > <solr persistent="false">
>> > >  <cores adminPath='null'>
>> > >    <core name="core0" instanceDir="/opt/solr/cores/core0">
>> > >     <property name="solrDataDir" value="/opt/solr/cores/core0/data" />
>> > >      <property name="xmlDataDir" value="/home/xml/core0" />
>> > >    </core>
>> > >    ...
>> > >  </cores>
>> > > </solr>
>> > >
>> > >
>> > >
>> > >
>> > > *** data-config.xml ***
>> > >
>> > > <dataConfig>
>> > >  <dataSource type="FileDataSource" />
>> > >  <document>
>> > >   <entity name="xmlFile"
>> > >     processor="FileListEntityProcessor"
>> > >     baseDir="${xmlDataDir}"
>> > >     fileName="id-.*\.xml"
>> > >     rootEntity="false"
>> > >     dataSource="null">
>> > >     <entity name="data"
>> > >      pk="id"
>> > >      url="${xmlFile.fileAbsolutePath}"
>> > >      processor="XPathEntityProcessor"
>> > > ...
>> > > </dataConfig>
>> > >
>> > >
>> > >
>> > > But this is the result:
>> > >
>> > > ...
>> > > Nov 17, 2008 1:50:08 PM
>> org.apache.solr.handler.dataimport.DataImporter
>> > doFullImport
>> > > INFO: Starting Full Import
>> > > Nov 17, 2008 1:50:08 PM org.apache.solr.core.SolrCore execute
>> > > INFO: [posts-politics] webapp=/solr path=/dataimport
>> >
>> params={optimize=true&commit=true&command=full-import&qt=/dataimport&wt=javabin&version=2.2}
>> > status=0 QTime=66
>> > > Nov 17, 2008 1:50:08 PM org.apache.solr.core.SolrCore execute
>> > > INFO: [posts-politics] webapp=/solr path=/dataimport
>> > params={qt=/dataimport&wt=javabin&version=2.2} status=0 QTime=0
>> > > Nov 17, 2008 1:50:08 PM org.apache.solr.update.DirectUpdateHandler2
>> > deleteAll
>> > > INFO: [posts-politics] REMOVING ALL DOCUMENTS FROM INDEX
>> > > Nov 17, 2008 1:50:08 PM
>> org.apache.solr.handler.dataimport.DataImporter
>> > doFullImport
>> > > SEVERE: Full Import failed
>> > > org.apache.solr.handler.dataimport.DataImportHandlerException:
>> 'baseDir'
>> > should point to a directory Processing Document # 1
>> > >  at
>> >
>> org.apache.solr.handler.dataimport.FileListEntityProcessor.init(FileListEntityProcessor.java:81)
>> > > ...
>> > >
>> > >
>> > >
>> > >
>> > > I tried also to configure all dataimport settings in solrconfig.xml,
>> but
>> > I don't know how to do this exactly. Among other things, I tried this
>> > format:
>> > >
>> > >
>> > > *** solrconfig.xml ***
>> > >
>> > > ...
>> > > <requestHandler name="/dataimport"
>> > class="org.apache.solr.handler.dataimport.DataImportHandler">
>> > >  <lst name="defaults">
>> > >  <lst name="datasource">
>> > >   <str name="type">FileDataSource</str>
>> > >   <lst name="document">
>> > >    <lst name="entity">
>> > >     <str name="name">xmlFile</str>
>> > >     <str name="processor">FileListEntityProcessor</str>
>> > >     <str name="baseDir">${xmlDataDir}</str>
>> > >     <str name="fileName">id-.*\.xml</str>
>> > >     <str name="rootEntity">false</str>
>> > >     <str name="dataSource">null"</str>
>> > >     <lst name="entity">
>> > >       <str name="name">data</str>
>> > >       <str name="pk">id</str>
>> > >       <str name="url">${xmlFile.fileAbsolutePath}</str>
>> > >     ...
>> > > </requestHandler>
>> > > ...
>> > >
>> > >
>> > >
>> > > But all my tests (with different "dataimport" formats in
>> solrconfig.xml)
>> > failed:
>> > >
>> > >
>> > > ...
>> > > INFO: Reusing parent classloader
>> > > Nov 17, 2008 2:18:14 PM org.apache.solr.common.SolrException log
>> > > SEVERE: Error in solrconfig.xml:org.apache.solr.common.SolrException:
>> No
>> > system property or default value specified for xmlFile.fileAbsolutePath
>> > >        at
>> > org.apache.solr.common.util.DOMUtil.substituteProperty(DOMUtil.java:311)
>> > >        at
>> >
>> org.apache.solr.common.util.DOMUtil.substituteProperties(DOMUtil.java:264)
>> > > ...
>> > >
>> > >
>> > >
>> > > Thanks again for your excellent support!
>> > >
>> > > Gisto
>> > >
>> > > --
>> > > Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
>> > > Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
>> > >
>> >
>> >
>> >
>> > --
>> > --Noble Paul
>> >
>>
>>
>>
>> --
>> Regards,
>> Shalin Shekhar Mangar.
>
> --
> Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
> Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
>



-- 
--Noble Paul

Re: Using properties from core configuration in data-config.xml

Posted by gi...@gmx.de.
Very cool :-)

Both suggestions work fine! But only with solr version 1.4:
https://issues.apache.org/jira/browse/SOLR-823

Use a nightly build (e.g. 2008-11-17 works):
http://people.apache.org/builds/lucene/solr/nightly/

See below for examples for both solutions...



((( 1 )))

> There may be one way to do this.
> 
> Add your property in the invariant section of solrconfig's
> DataImportHandler
> element. For example, add this section:
> 
> <lst name="invariants">
>       <str name="xmlDataDir">${xmlDataDir}</str>
> </lst>
> 
> Then you can use it as ${dataimporter.request.xmlDataDir} in your
> data-config to access this.



// *** solr.xml ***
<solr persistent="false">
    <cores adminPath='null'>
        <core name="core1" instanceDir="/opt/solr/cores/core1">
            <property name="xmlDataDir" value="/home/core1" />
        </core>
        <core name="core2" instanceDir="/opt/solr/cores/core2">
            <property name="xmlDataDir" value="/home/core2" />
        </core>
    </cores>
</solr>



// *** solrconfig.xml ***
  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">./data-config.xml</str>
    </lst>

  <lst name="invariants">
    <str name="xmlDataDir">${xmlDataDir}</str>
  </lst>
</requestHandler>



// *** data-config.xml ***
<dataConfig>
  <dataSource type="FileDataSource" />
    <document>
      <entity name="xmlFile"
        processor="FileListEntityProcessor"
        baseDir="${dataimporter.request.xmlDataDir}"
       ...
</dataConfig>


URL for full-import:
http://localhost:8983/solr/core1/dataimport?command=full-import&commit=true




((( 2 ))))


> > nope . It is not possible as of now. the placeholders are not aware of
> > the core properties.
> > Is it possible to pass the values as request params? Request
> > parameters can be accessed .


// *** data-config.xml ***
<dataConfig>
  <dataSource type="FileDataSource" />
    <document>
      <entity name="xmlFile"
        processor="FileListEntityProcessor"
        baseDir="${dataimporter.request.xmlDataDir}"
       ...
</dataConfig>


URL for full-import:
http://localhost:8983/solr/core1/dataimport?command=full-import&commit=true&xmlDataDir=%2Fhome%2Fcore1


Thats all.
Gisto



> > On Mon, Nov 17, 2008 at 7:57 PM,  <gi...@gmx.de> wrote:
> > > Hello,
> > >
> > > is it possible to use properties from core configuration in
> > data-config.xml?
> > > I want to define the "baseDir" for DataImportHandler.
> > >
> > >
> > > I tried the following configuration:
> > >
> > >
> > > *** solr.xml ***
> > >
> > > <solr persistent="false">
> > >  <cores adminPath='null'>
> > >    <core name="core0" instanceDir="/opt/solr/cores/core0">
> > >     <property name="solrDataDir" value="/opt/solr/cores/core0/data" />
> > >      <property name="xmlDataDir" value="/home/xml/core0" />
> > >    </core>
> > >    ...
> > >  </cores>
> > > </solr>
> > >
> > >
> > >
> > >
> > > *** data-config.xml ***
> > >
> > > <dataConfig>
> > >  <dataSource type="FileDataSource" />
> > >  <document>
> > >   <entity name="xmlFile"
> > >     processor="FileListEntityProcessor"
> > >     baseDir="${xmlDataDir}"
> > >     fileName="id-.*\.xml"
> > >     rootEntity="false"
> > >     dataSource="null">
> > >     <entity name="data"
> > >      pk="id"
> > >      url="${xmlFile.fileAbsolutePath}"
> > >      processor="XPathEntityProcessor"
> > > ...
> > > </dataConfig>
> > >
> > >
> > >
> > > But this is the result:
> > >
> > > ...
> > > Nov 17, 2008 1:50:08 PM
> org.apache.solr.handler.dataimport.DataImporter
> > doFullImport
> > > INFO: Starting Full Import
> > > Nov 17, 2008 1:50:08 PM org.apache.solr.core.SolrCore execute
> > > INFO: [posts-politics] webapp=/solr path=/dataimport
> >
> params={optimize=true&commit=true&command=full-import&qt=/dataimport&wt=javabin&version=2.2}
> > status=0 QTime=66
> > > Nov 17, 2008 1:50:08 PM org.apache.solr.core.SolrCore execute
> > > INFO: [posts-politics] webapp=/solr path=/dataimport
> > params={qt=/dataimport&wt=javabin&version=2.2} status=0 QTime=0
> > > Nov 17, 2008 1:50:08 PM org.apache.solr.update.DirectUpdateHandler2
> > deleteAll
> > > INFO: [posts-politics] REMOVING ALL DOCUMENTS FROM INDEX
> > > Nov 17, 2008 1:50:08 PM
> org.apache.solr.handler.dataimport.DataImporter
> > doFullImport
> > > SEVERE: Full Import failed
> > > org.apache.solr.handler.dataimport.DataImportHandlerException:
> 'baseDir'
> > should point to a directory Processing Document # 1
> > >  at
> >
> org.apache.solr.handler.dataimport.FileListEntityProcessor.init(FileListEntityProcessor.java:81)
> > > ...
> > >
> > >
> > >
> > >
> > > I tried also to configure all dataimport settings in solrconfig.xml,
> but
> > I don't know how to do this exactly. Among other things, I tried this
> > format:
> > >
> > >
> > > *** solrconfig.xml ***
> > >
> > > ...
> > > <requestHandler name="/dataimport"
> > class="org.apache.solr.handler.dataimport.DataImportHandler">
> > >  <lst name="defaults">
> > >  <lst name="datasource">
> > >   <str name="type">FileDataSource</str>
> > >   <lst name="document">
> > >    <lst name="entity">
> > >     <str name="name">xmlFile</str>
> > >     <str name="processor">FileListEntityProcessor</str>
> > >     <str name="baseDir">${xmlDataDir}</str>
> > >     <str name="fileName">id-.*\.xml</str>
> > >     <str name="rootEntity">false</str>
> > >     <str name="dataSource">null"</str>
> > >     <lst name="entity">
> > >       <str name="name">data</str>
> > >       <str name="pk">id</str>
> > >       <str name="url">${xmlFile.fileAbsolutePath}</str>
> > >     ...
> > > </requestHandler>
> > > ...
> > >
> > >
> > >
> > > But all my tests (with different "dataimport" formats in
> solrconfig.xml)
> > failed:
> > >
> > >
> > > ...
> > > INFO: Reusing parent classloader
> > > Nov 17, 2008 2:18:14 PM org.apache.solr.common.SolrException log
> > > SEVERE: Error in solrconfig.xml:org.apache.solr.common.SolrException:
> No
> > system property or default value specified for xmlFile.fileAbsolutePath
> > >        at
> > org.apache.solr.common.util.DOMUtil.substituteProperty(DOMUtil.java:311)
> > >        at
> >
> org.apache.solr.common.util.DOMUtil.substituteProperties(DOMUtil.java:264)
> > > ...
> > >
> > >
> > >
> > > Thanks again for your excellent support!
> > >
> > > Gisto
> > >
> > > --
> > > Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
> > > Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
> > >
> >
> >
> >
> > --
> > --Noble Paul
> >
> 
> 
> 
> -- 
> Regards,
> Shalin Shekhar Mangar.

-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

Re: Using properties from core configuration in data-config.xml

Posted by Shalin Shekhar Mangar <sh...@gmail.com>.
There may be one way to do this.

Add your property in the invariant section of solrconfig's DataImportHandler
element. For example, add this section:

<lst name="invariants">
      <str name="xmlDataDir">${xmlDataDir}</str>
</lst>

Then you can use it as ${dataimporter.request.xmlDataDir} in your
data-config to access this.

On Tue, Nov 18, 2008 at 9:17 AM, Noble Paul നോബിള്‍ नोब्ळ् <
noble.paul@gmail.com> wrote:

> nope . It is not possible as of now. the placeholders are not aware of
> the core properties.
> Is it possible to pass the values as request params? Request
> parameters can be accessed .
>
> You can raise an issue and we can address this separately
>
>
> On Mon, Nov 17, 2008 at 7:57 PM,  <gi...@gmx.de> wrote:
> > Hello,
> >
> > is it possible to use properties from core configuration in
> data-config.xml?
> > I want to define the "baseDir" for DataImportHandler.
> >
> >
> > I tried the following configuration:
> >
> >
> > *** solr.xml ***
> >
> > <solr persistent="false">
> >  <cores adminPath='null'>
> >    <core name="core0" instanceDir="/opt/solr/cores/core0">
> >     <property name="solrDataDir" value="/opt/solr/cores/core0/data" />
> >      <property name="xmlDataDir" value="/home/xml/core0" />
> >    </core>
> >    ...
> >  </cores>
> > </solr>
> >
> >
> >
> >
> > *** data-config.xml ***
> >
> > <dataConfig>
> >  <dataSource type="FileDataSource" />
> >  <document>
> >   <entity name="xmlFile"
> >     processor="FileListEntityProcessor"
> >     baseDir="${xmlDataDir}"
> >     fileName="id-.*\.xml"
> >     rootEntity="false"
> >     dataSource="null">
> >     <entity name="data"
> >      pk="id"
> >      url="${xmlFile.fileAbsolutePath}"
> >      processor="XPathEntityProcessor"
> > ...
> > </dataConfig>
> >
> >
> >
> > But this is the result:
> >
> > ...
> > Nov 17, 2008 1:50:08 PM org.apache.solr.handler.dataimport.DataImporter
> doFullImport
> > INFO: Starting Full Import
> > Nov 17, 2008 1:50:08 PM org.apache.solr.core.SolrCore execute
> > INFO: [posts-politics] webapp=/solr path=/dataimport
> params={optimize=true&commit=true&command=full-import&qt=/dataimport&wt=javabin&version=2.2}
> status=0 QTime=66
> > Nov 17, 2008 1:50:08 PM org.apache.solr.core.SolrCore execute
> > INFO: [posts-politics] webapp=/solr path=/dataimport
> params={qt=/dataimport&wt=javabin&version=2.2} status=0 QTime=0
> > Nov 17, 2008 1:50:08 PM org.apache.solr.update.DirectUpdateHandler2
> deleteAll
> > INFO: [posts-politics] REMOVING ALL DOCUMENTS FROM INDEX
> > Nov 17, 2008 1:50:08 PM org.apache.solr.handler.dataimport.DataImporter
> doFullImport
> > SEVERE: Full Import failed
> > org.apache.solr.handler.dataimport.DataImportHandlerException: 'baseDir'
> should point to a directory Processing Document # 1
> >  at
> org.apache.solr.handler.dataimport.FileListEntityProcessor.init(FileListEntityProcessor.java:81)
> > ...
> >
> >
> >
> >
> > I tried also to configure all dataimport settings in solrconfig.xml, but
> I don't know how to do this exactly. Among other things, I tried this
> format:
> >
> >
> > *** solrconfig.xml ***
> >
> > ...
> > <requestHandler name="/dataimport"
> class="org.apache.solr.handler.dataimport.DataImportHandler">
> >  <lst name="defaults">
> >  <lst name="datasource">
> >   <str name="type">FileDataSource</str>
> >   <lst name="document">
> >    <lst name="entity">
> >     <str name="name">xmlFile</str>
> >     <str name="processor">FileListEntityProcessor</str>
> >     <str name="baseDir">${xmlDataDir}</str>
> >     <str name="fileName">id-.*\.xml</str>
> >     <str name="rootEntity">false</str>
> >     <str name="dataSource">null"</str>
> >     <lst name="entity">
> >       <str name="name">data</str>
> >       <str name="pk">id</str>
> >       <str name="url">${xmlFile.fileAbsolutePath}</str>
> >     ...
> > </requestHandler>
> > ...
> >
> >
> >
> > But all my tests (with different "dataimport" formats in solrconfig.xml)
> failed:
> >
> >
> > ...
> > INFO: Reusing parent classloader
> > Nov 17, 2008 2:18:14 PM org.apache.solr.common.SolrException log
> > SEVERE: Error in solrconfig.xml:org.apache.solr.common.SolrException: No
> system property or default value specified for xmlFile.fileAbsolutePath
> >        at
> org.apache.solr.common.util.DOMUtil.substituteProperty(DOMUtil.java:311)
> >        at
> org.apache.solr.common.util.DOMUtil.substituteProperties(DOMUtil.java:264)
> > ...
> >
> >
> >
> > Thanks again for your excellent support!
> >
> > Gisto
> >
> > --
> > Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
> > Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
> >
>
>
>
> --
> --Noble Paul
>



-- 
Regards,
Shalin Shekhar Mangar.

Re: Using properties from core configuration in data-config.xml

Posted by Noble Paul നോബിള്‍ नोब्ळ् <no...@gmail.com>.
nope . It is not possible as of now. the placeholders are not aware of
the core properties.
Is it possible to pass the values as request params? Request
parameters can be accessed .

You can raise an issue and we can address this separately


On Mon, Nov 17, 2008 at 7:57 PM,  <gi...@gmx.de> wrote:
> Hello,
>
> is it possible to use properties from core configuration in data-config.xml?
> I want to define the "baseDir" for DataImportHandler.
>
>
> I tried the following configuration:
>
>
> *** solr.xml ***
>
> <solr persistent="false">
>  <cores adminPath='null'>
>    <core name="core0" instanceDir="/opt/solr/cores/core0">
>     <property name="solrDataDir" value="/opt/solr/cores/core0/data" />
>      <property name="xmlDataDir" value="/home/xml/core0" />
>    </core>
>    ...
>  </cores>
> </solr>
>
>
>
>
> *** data-config.xml ***
>
> <dataConfig>
>  <dataSource type="FileDataSource" />
>  <document>
>   <entity name="xmlFile"
>     processor="FileListEntityProcessor"
>     baseDir="${xmlDataDir}"
>     fileName="id-.*\.xml"
>     rootEntity="false"
>     dataSource="null">
>     <entity name="data"
>      pk="id"
>      url="${xmlFile.fileAbsolutePath}"
>      processor="XPathEntityProcessor"
> ...
> </dataConfig>
>
>
>
> But this is the result:
>
> ...
> Nov 17, 2008 1:50:08 PM org.apache.solr.handler.dataimport.DataImporter doFullImport
> INFO: Starting Full Import
> Nov 17, 2008 1:50:08 PM org.apache.solr.core.SolrCore execute
> INFO: [posts-politics] webapp=/solr path=/dataimport params={optimize=true&commit=true&command=full-import&qt=/dataimport&wt=javabin&version=2.2} status=0 QTime=66
> Nov 17, 2008 1:50:08 PM org.apache.solr.core.SolrCore execute
> INFO: [posts-politics] webapp=/solr path=/dataimport params={qt=/dataimport&wt=javabin&version=2.2} status=0 QTime=0
> Nov 17, 2008 1:50:08 PM org.apache.solr.update.DirectUpdateHandler2 deleteAll
> INFO: [posts-politics] REMOVING ALL DOCUMENTS FROM INDEX
> Nov 17, 2008 1:50:08 PM org.apache.solr.handler.dataimport.DataImporter doFullImport
> SEVERE: Full Import failed
> org.apache.solr.handler.dataimport.DataImportHandlerException: 'baseDir' should point to a directory Processing Document # 1
>  at org.apache.solr.handler.dataimport.FileListEntityProcessor.init(FileListEntityProcessor.java:81)
> ...
>
>
>
>
> I tried also to configure all dataimport settings in solrconfig.xml, but I don't know how to do this exactly. Among other things, I tried this format:
>
>
> *** solrconfig.xml ***
>
> ...
> <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
>  <lst name="defaults">
>  <lst name="datasource">
>   <str name="type">FileDataSource</str>
>   <lst name="document">
>    <lst name="entity">
>     <str name="name">xmlFile</str>
>     <str name="processor">FileListEntityProcessor</str>
>     <str name="baseDir">${xmlDataDir}</str>
>     <str name="fileName">id-.*\.xml</str>
>     <str name="rootEntity">false</str>
>     <str name="dataSource">null"</str>
>     <lst name="entity">
>       <str name="name">data</str>
>       <str name="pk">id</str>
>       <str name="url">${xmlFile.fileAbsolutePath}</str>
>     ...
> </requestHandler>
> ...
>
>
>
> But all my tests (with different "dataimport" formats in solrconfig.xml) failed:
>
>
> ...
> INFO: Reusing parent classloader
> Nov 17, 2008 2:18:14 PM org.apache.solr.common.SolrException log
> SEVERE: Error in solrconfig.xml:org.apache.solr.common.SolrException: No system property or default value specified for xmlFile.fileAbsolutePath
>        at org.apache.solr.common.util.DOMUtil.substituteProperty(DOMUtil.java:311)
>        at org.apache.solr.common.util.DOMUtil.substituteProperties(DOMUtil.java:264)
> ...
>
>
>
> Thanks again for your excellent support!
>
> Gisto
>
> --
> Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
> Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
>



-- 
--Noble Paul