no probs We can fix that using reflection. I shall give a patch w/ that. Probably it is better to fix it in a Transformer
On Tue, Dec 2, 2008 at 1:56 PM, Joel Karlsson <[EMAIL PROTECTED]> wrote: > True, but perhaps it works with java.sql.Clob as well, haven't tried it > though. > > 2008/12/2 Noble Paul നോബിള് नोब्ळ् <[EMAIL PROTECTED]> > >> cool >> >> The only problem is that java.sql.Clob#getCharacterStream() is package >> private and you have to use the oracle.sql.CLOB >> >> >> >> On Tue, Dec 2, 2008 at 1:38 PM, Joel Karlsson <[EMAIL PROTECTED]> >> wrote: >> > Thanks for your reply! >> > >> > I wrote such a transformer and now it seems to work perfectly. Here's the >> > code for the transformer if anyone encounters the same problem, or if >> anyone >> > want to improve it: >> > >> > import org.apache.solr.handler.dataimport.*; >> > import oracle.sql.CLOB; >> > import java.util.*; >> > import java.io.*; >> > >> > public class ClobTransformer extends Transformer >> > { >> > public Map<String, Object> transformRow(Map<String, Object> row, >> Context >> > context) >> > { >> > List<Map<String, String>> fields = context.getAllEntityFields(); >> > for (Map<String, String> field : fields) >> > { >> > String toString = field.get("toString"); >> > if ("true".equals(toString)) >> > { >> > String columnName = field.get("column"); >> > CLOB clob = (CLOB)row.get(columnName); >> > if (clob != null) >> > { >> > StringBuffer strOut = new StringBuffer(); >> > String app; >> > try { >> > BufferedReader br = new >> > BufferedReader(clob.getCharacterStream()); >> > while ((app=br.readLine())!=null) >> > strOut.append(app); >> > } catch (Exception e) { e.printStackTrace(); } >> > >> > row.put(columnName, strOut.toString()); >> > } >> > } >> > } >> > return row; >> > >> > } >> > } >> > >> > // Joel >> > >> > 2008/12/2 Noble Paul നോബിള് नोब्ळ् <[EMAIL PROTECTED]> >> > >> >> Hi Joel, >> >> DIH does not translate Clob automatically to text. >> >> >> >> We can open that as an issue. >> >> meanwhile you can write a transformer of your own to read Clob and >> >> convert to text. >> >> >> >> >> http://wiki.apache.org/solr/DataImportHandler#head-4756038c418ab3fa389efc822277a7a789d27688 >> >> >> >> >> >> On Tue, Dec 2, 2008 at 2:57 AM, Joel Karlsson <[EMAIL PROTECTED]> >> >> wrote: >> >> > Thanks for your reply! >> >> > >> >> > I'm already using the DataImportHandler for indexing. Do I still have >> to >> >> > convert the Clob myself or are there any built-in functions that I've >> >> > missed? >> >> > >> >> > // Joel >> >> > >> >> > >> >> > 2008/12/1 Yonik Seeley <[EMAIL PROTECTED]> >> >> > >> >> >> If you are querying Oracle yourself and using something like SolrJ, >> >> >> then you must convert the Clob yourself into a String representation. >> >> >> >> >> >> Also, did you look at Solr's DataImportHandler? >> >> >> >> >> >> -Yonik >> >> >> >> >> >> On Mon, Dec 1, 2008 at 3:11 PM, Joel Karlsson <[EMAIL PROTECTED] >> > >> >> >> wrote: >> >> >> > Hello everyone, >> >> >> > >> >> >> > I'm trying to index on an Oracle DB, but can't seem to find any >> built >> >> in >> >> >> > support for objects of type oracle.sql.Clob. The field I try to put >> >> the >> >> >> data >> >> >> > into is of type text, but after indexing it only contains the >> >> >> Clob-objects >> >> >> > string representation, i.e. something like >> [EMAIL PROTECTED] >> >> >> who >> >> >> > knows how to get Solr to index the content of these objects rather >> >> than >> >> >> its >> >> >> > string representation?? >> >> >> > >> >> >> > Thanks in advance! // Joel >> >> >> > >> >> >> >> >> > >> >> >> >> >> >> >> >> -- >> >> --Noble Paul >> >> >> > >> >> >> >> -- >> --Noble Paul >> > -- --Noble Paul