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