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 Joey Grimm <jg...@rim.com> on 2012/01/12 19:05:28 UTC
SolrException: Invalid Date String:'oracle.sql.TIMESTAMP
Hi,
I am trying to use a dataImportHandler to import data from an oracle DB. It
works for non-date fields but is throwing an exception once I included the
MODIFIEDDATE field (oracle.timestamp field). Can anyone see what I'm doing
wrong here? Thanks.
schema.xml
<field name="catModifiedDate" type="date" indexed="true" stored="true" />
db-data-config.xml
<entity name="category" datasource="jdbc"
query="SELECT ID,PARENTID,ICONID,SORTORDER,MODIFIEDDATE FROM CATEGORY">
<field column="ID" name="masterId" />
<field column="PARENTID" name="catParentId" />
<field column="ICONID" name="catIconId" />
<field column="SORTORDER" name="catSortOrder" />
<field column="MODIFIEDDATE" name="catModifiedDate"/>
WARNING: Error creating document :
SolrInputDocument[{catModifiedDate=catModifiedDate(1.0)={oracle.sql.TIMESTAMP@1e58565},
masterId=masterId(1.0)={124}, catParentId=catParentId(1.0)={118},
catIconId=catIconId(1.0)={304856}}]
org.apache.solr.common.SolrException: ERROR: [doc=124] Error adding field
'catModifiedDate'='oracle.sql.TIMESTAMP@1e58565'
at
org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:324)
at
org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:60)
at
org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:115)
at org.apache.solr.handler.dataimport.SolrWriter.upload(SolrWriter.java:73)
at
org.apache.solr.handler.dataimport.DataImportHandler$1.upload(DataImportHandler.java:293)
at
org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:636)
at
org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:268)
at
org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:187)
at
org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:359)
at
org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427)
at
org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:408)
Caused by: org.apache.solr.common.SolrException: Invalid Date
String:'oracle.sql.TIMESTAMP@1e58565'
at org.apache.solr.schema.DateField.parseMath(DateField.java:165)
at org.apache.solr.schema.TrieField.createField(TrieField.java:421)
at org.apache.solr.schema.TrieDateField.createField(TrieDateField.java:120)
at org.apache.solr.schema.SchemaField.createField(SchemaField.java:104)
at
org.apache.solr.update.DocumentBuilder.addField(DocumentBuilder.java:203)
at
org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:281)
--
View this message in context: http://lucene.472066.n3.nabble.com/SolrException-Invalid-Date-String-oracle-sql-TIMESTAMP-tp3654419p3654419.html
Sent from the Solr - User mailing list archive at Nabble.com.
Re: SolrException: Invalid Date String:'oracle.sql.TIMESTAMP
Posted by yunfei wu <yu...@gmail.com>.
I guess you probably run into the issue between different date value format
in your oracle db and in solr field. Solr only expects XML date value in
UTC format -
http://lucene.apache.org/solr/api/org/apache/solr/schema/DateField.html.
You might need to consider DateFormatTransformer -
http://wiki.apache.org/solr/DataImportHandler#DateFormatTransformer
Yunfei
On Thu, Jan 12, 2012 at 10:05 AM, Joey Grimm <jg...@rim.com> wrote:
> Hi,
>
> I am trying to use a dataImportHandler to import data from an oracle DB.
> It
> works for non-date fields but is throwing an exception once I included the
> MODIFIEDDATE field (oracle.timestamp field). Can anyone see what I'm doing
> wrong here? Thanks.
>
>
>
> schema.xml
> <field name="catModifiedDate" type="date" indexed="true" stored="true" />
>
> db-data-config.xml
>
> <entity name="category" datasource="jdbc"
> query="SELECT
> ID,PARENTID,ICONID,SORTORDER,MODIFIEDDATE FROM CATEGORY">
>
>
> <field column="ID" name="masterId" />
> <field column="PARENTID" name="catParentId" />
> <field column="ICONID" name="catIconId" />
> <field column="SORTORDER" name="catSortOrder" />
> <field column="MODIFIEDDATE"
> name="catModifiedDate"/>
>
>
> WARNING: Error creating document :
>
> SolrInputDocument[{catModifiedDate=catModifiedDate(1.0)={oracle.sql.TIMESTAMP@1e58565
> },
> masterId=masterId(1.0)={124}, catParentId=catParentId(1.0)={118},
> catIconId=catIconId(1.0)={304856}}]
> org.apache.solr.common.SolrException: ERROR: [doc=124] Error adding field
> 'catModifiedDate'='oracle.sql.TIMESTAMP@1e58565'
> at
> org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:324)
> at
>
> org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:60)
> at
>
> org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:115)
> at
> org.apache.solr.handler.dataimport.SolrWriter.upload(SolrWriter.java:73)
> at
>
> org.apache.solr.handler.dataimport.DataImportHandler$1.upload(DataImportHandler.java:293)
> at
>
> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:636)
> at
>
> org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:268)
> at
> org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:187)
> at
>
> org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:359)
> at
>
> org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427)
> at
>
> org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:408)
> Caused by: org.apache.solr.common.SolrException: Invalid Date
> String:'oracle.sql.TIMESTAMP@1e58565'
> at org.apache.solr.schema.DateField.parseMath(DateField.java:165)
> at org.apache.solr.schema.TrieField.createField(TrieField.java:421)
> at
> org.apache.solr.schema.TrieDateField.createField(TrieDateField.java:120)
> at
> org.apache.solr.schema.SchemaField.createField(SchemaField.java:104)
> at
> org.apache.solr.update.DocumentBuilder.addField(DocumentBuilder.java:203)
> at
> org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:281)
>
> --
> View this message in context:
> http://lucene.472066.n3.nabble.com/SolrException-Invalid-Date-String-oracle-sql-TIMESTAMP-tp3654419p3654419.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>
RE: SolrException: Invalid Date String:'oracle.sql.TIMESTAMP
Posted by Colin Bennett <cb...@job.com>.
Hi,
It looks like a date formatting issue, the Solr date field expects something
like 1995-12-31T23:59:59.999Z
See http://lucene.apache.org/solr/api/org/apache/solr/schema/DateField.html
The data import handler does have a date transformer to convert dates
http://wiki.apache.org/solr/DataImportHandler#DateFormatTransformer
Colin.
-----Original Message-----
From: Joey Grimm [mailto:jgrimm@rim.com]
Sent: Thursday, January 12, 2012 1:05 PM
To: solr-user@lucene.apache.org
Subject: SolrException: Invalid Date String:'oracle.sql.TIMESTAMP
Hi,
I am trying to use a dataImportHandler to import data from an oracle DB. It
works for non-date fields but is throwing an exception once I included the
MODIFIEDDATE field (oracle.timestamp field). Can anyone see what I'm doing
wrong here? Thanks.
schema.xml
<field name="catModifiedDate" type="date" indexed="true" stored="true" />
db-data-config.xml
<entity name="category" datasource="jdbc"
query="SELECT
ID,PARENTID,ICONID,SORTORDER,MODIFIEDDATE FROM CATEGORY">
<field column="ID" name="masterId" />
<field column="PARENTID" name="catParentId" />
<field column="ICONID" name="catIconId" />
<field column="SORTORDER" name="catSortOrder" />
<field column="MODIFIEDDATE"
name="catModifiedDate"/>
WARNING: Error creating document :
SolrInputDocument[{catModifiedDate=catModifiedDate(1.0)={oracle.sql.TIMESTAM
P@1e58565},
masterId=masterId(1.0)={124}, catParentId=catParentId(1.0)={118},
catIconId=catIconId(1.0)={304856}}]
org.apache.solr.common.SolrException: ERROR: [doc=124] Error adding field
'catModifiedDate'='oracle.sql.TIMESTAMP@1e58565'
at
org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:324)
at
org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProc
essorFactory.java:60)
at
org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProc
essorFactory.java:115)
at
org.apache.solr.handler.dataimport.SolrWriter.upload(SolrWriter.java:73)
at
org.apache.solr.handler.dataimport.DataImportHandler$1.upload(DataImportHand
ler.java:293)
at
org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:
636)
at
org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:268
)
at
org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:187)
at
org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.ja
va:359)
at
org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427
)
at
org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:408)
Caused by: org.apache.solr.common.SolrException: Invalid Date
String:'oracle.sql.TIMESTAMP@1e58565'
at org.apache.solr.schema.DateField.parseMath(DateField.java:165)
at org.apache.solr.schema.TrieField.createField(TrieField.java:421)
at
org.apache.solr.schema.TrieDateField.createField(TrieDateField.java:120)
at
org.apache.solr.schema.SchemaField.createField(SchemaField.java:104)
at
org.apache.solr.update.DocumentBuilder.addField(DocumentBuilder.java:203)
at
org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:281)
--
View this message in context:
http://lucene.472066.n3.nabble.com/SolrException-Invalid-Date-String-oracle-
sql-TIMESTAMP-tp3654419p3654419.html
Sent from the Solr - User mailing list archive at Nabble.com.