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.