RE: Indexing CLOB Column in Oracle

2010-03-17 Thread Craig Christman
To convert an XMLTYPE to CLOB use the getClobVal() method like this:

SELECT d.XML.getClobVal() FROM DOC d WHERE d.ARCHIVE_ID = '${doc.ARCHIVE_ID}'


-Original Message-
From: Shawn Heisey [mailto:s...@elyograg.org]
Sent: Tuesday, March 16, 2010 7:37 PM
To: solr-user@lucene.apache.org
Subject: Re: Indexing CLOB Column in Oracle

Disclaimer:  My Oracle experience is miniscule at best.  I am also a
beginner at Solr, so grab yourself the proverbial grain of salt.

I googled a bit on CLOB.  One page I found mentioned setting up a view
to return the data type you want.  Can you use the functions described
on these pages in either the Solr query or a view?

http://www.oradev.com/dbms_lob.jsp
http://www.dba-oracle.com/t_dbms_lob.htm
http://www.praetoriate.com/dbms_packages/ddp_dbms_lob.htm

I also was trying to find a way to convert from xmltype directly to a
string in a query, but that quickly got way over my level of
understanding.  I saw hints that it is possible, though.

Shawn

On 3/16/2010 4:59 PM, Neil Chaudhuri wrote:
 Since my original thread was straying to a new topic, I thought it made sense 
 to create a new thread of discussion.

 I am using the DataImportHandler to index 3 fields in a table: an id, a date, 
 and the text of a document. This is an Oracle database, and the document is 
 an XML document stored as Oracle's xmltype data type, which is an instance of 
 oracle.sql.OPAQUE. Still, it is nothing more than a fancy clob.




Re: Indexing CLOB Column in Oracle

2010-03-17 Thread Lance Norskog
This could be the problem: the text field in the example schema is
indexed, but not stored. If you query the index with text:monkeys it
will find records with monkeys, but the text field will not appear
in the returned XML because it was not stored.

On Wed, Mar 17, 2010 at 11:17 AM, Neil Chaudhuri
nchaudh...@potomacfusion.com wrote:
 For those who might encounter a similar issue, merging what I had into a 
 single entity and using getClobVal() did the trick.

 In other words:

 document
        entity name=doc query=SELECT d.EFFECTIVE_DT, d.ARCHIVE_ID, 
 d.XML.getClobVal() AS TEXT FROM DOC d transformer=ClobTransformer
            field column=EFFECTIVE_DT name=effectiveDate /
            field column=ARCHIVE_ID name=id /
            field column=TEXT name=text clob=true
        /entity
 /document

 Thanks.



 -Original Message-
 From: Craig Christman [mailto:cchrist...@caci.com]
 Sent: Wednesday, March 17, 2010 11:23 AM
 To: solr-user@lucene.apache.org
 Subject: RE: Indexing CLOB Column in Oracle

 To convert an XMLTYPE to CLOB use the getClobVal() method like this:

 SELECT d.XML.getClobVal() FROM DOC d WHERE d.ARCHIVE_ID = '${doc.ARCHIVE_ID}'


 -Original Message-
 From: Shawn Heisey [mailto:s...@elyograg.org]
 Sent: Tuesday, March 16, 2010 7:37 PM
 To: solr-user@lucene.apache.org
 Subject: Re: Indexing CLOB Column in Oracle

 Disclaimer:  My Oracle experience is miniscule at best.  I am also a
 beginner at Solr, so grab yourself the proverbial grain of salt.

 I googled a bit on CLOB.  One page I found mentioned setting up a view
 to return the data type you want.  Can you use the functions described
 on these pages in either the Solr query or a view?

 http://www.oradev.com/dbms_lob.jsp
 http://www.dba-oracle.com/t_dbms_lob.htm
 http://www.praetoriate.com/dbms_packages/ddp_dbms_lob.htm

 I also was trying to find a way to convert from xmltype directly to a
 string in a query, but that quickly got way over my level of
 understanding.  I saw hints that it is possible, though.

 Shawn

 On 3/16/2010 4:59 PM, Neil Chaudhuri wrote:
 Since my original thread was straying to a new topic, I thought it made 
 sense to create a new thread of discussion.

 I am using the DataImportHandler to index 3 fields in a table: an id, a 
 date, and the text of a document. This is an Oracle database, and the 
 document is an XML document stored as Oracle's xmltype data type, which is 
 an instance of oracle.sql.OPAQUE. Still, it is nothing more than a fancy 
 clob.






-- 
Lance Norskog
goks...@gmail.com


Indexing CLOB Column in Oracle

2010-03-16 Thread Neil Chaudhuri
Since my original thread was straying to a new topic, I thought it made sense 
to create a new thread of discussion.

I am using the DataImportHandler to index 3 fields in a table: an id, a date, 
and the text of a document. This is an Oracle database, and the document is an 
XML document stored as Oracle's xmltype data type, which is an instance of 
oracle.sql.OPAQUE. Still, it is nothing more than a fancy clob.

So in my db-data-config, I have the following:

document
entity name=doc query=SELECT d.EFFECTIVE_DT, d.ARCHIVE_ID FROM DOC 
d
field column=EFFECTIVE_DT name=effectiveDate /
field column=ARCHIVE_ID name=id /
entity name=text query=SELECT d.XML FROM DOC d WHERE 
d.ARCHIVE_ID = '${doc.ARCHIVE_ID}' transformer=ClobTransformer
field column=XML name=text clob=true sourceColName=XML 
/
/entity
/entity
/document

Meanwhile, I have this in schema.xml:

field name=text type=text_ws indexed=true stored=true 
multiValued=true omitNorms=false termVectors=true /

However, when I take a look at my indexes with Luke, I find that the items 
labeled text simply say oracle.sql.OPAQUE and a bunch of numbers-in other 
words, the OPAQUE.toString().

Can you give me some insight into where I am going wrong?

Thanks.



Re: Indexing CLOB Column in Oracle

2010-03-16 Thread Shawn Heisey
Disclaimer:  My Oracle experience is miniscule at best.  I am also a 
beginner at Solr, so grab yourself the proverbial grain of salt.


I googled a bit on CLOB.  One page I found mentioned setting up a view 
to return the data type you want.  Can you use the functions described 
on these pages in either the Solr query or a view?


http://www.oradev.com/dbms_lob.jsp
http://www.dba-oracle.com/t_dbms_lob.htm
http://www.praetoriate.com/dbms_packages/ddp_dbms_lob.htm

I also was trying to find a way to convert from xmltype directly to a 
string in a query, but that quickly got way over my level of 
understanding.  I saw hints that it is possible, though.


Shawn

On 3/16/2010 4:59 PM, Neil Chaudhuri wrote:

Since my original thread was straying to a new topic, I thought it made sense 
to create a new thread of discussion.

I am using the DataImportHandler to index 3 fields in a table: an id, a date, 
and the text of a document. This is an Oracle database, and the document is an 
XML document stored as Oracle's xmltype data type, which is an instance of 
oracle.sql.OPAQUE. Still, it is nothing more than a fancy clob.