hi Markus

i tried Log also but still the same problem.

sry if  i am wrong but i think that this problem can be solved by changing in

LuceneWriter.Java class because by default the indexer in Nutch 1.2 is luncence.

On 1/13/11, Markus Jelsma <[email protected]> wrote:
> Try using the logger, this way you can check hadoop.log for your output.
>
> import:
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
>
> declare:
> public static Log LOG = LogFactory.getLog(SolrWriter.class);
>
> use:
> LOG.info("bla bla");
>
>
>
>
>
> On Thursday 13 January 2011 14:28:21 PEEYUSH CHANDEL wrote:
>> hi markus
>>
>> here is my modified SolarWriter class,please check it and correct me
>> if i am doing something wrong.
>>
>> i tried this code but nothing happens.
>>
>> package org.apache.nutch.indexer.solr;
>>
>> import java.io.IOException;
>> import java.util.ArrayList;
>> import java.util.List;
>> import java.util.Map.Entry;
>> import java.util.Iterator;
>> import java.sql.*;
>>
>> import org.apache.hadoop.mapred.JobConf;
>> import org.apache.nutch.indexer.NutchDocument;
>> import org.apache.nutch.indexer.NutchField;
>> import org.apache.nutch.indexer.NutchIndexWriter;
>> import org.apache.solr.client.solrj.SolrServer;
>> import org.apache.solr.client.solrj.SolrServerException;
>> import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
>> import org.apache.solr.common.SolrInputDocument;
>>
>> public class SolrWriter implements NutchIndexWriter {
>>
>>   private SolrServer solr;
>>   private SolrMappingReader solrMapping;
>>
>>   private final List<SolrInputDocument> inputDocs =
>>     new ArrayList<SolrInputDocument>();
>>
>>   private int commitSize;
>>
>>   public void open(JobConf job, String name) throws IOException {
>>     solr = new CommonsHttpSolrServer(job.get(SolrConstants.SERVER_URL));
>>     commitSize = job.getInt(SolrConstants.COMMIT_SIZE, 1000);
>>     solrMapping = SolrMappingReader.getInstance(job);
>>   }
>>
>>   public void write(NutchDocument doc) throws IOException {
>>     final SolrInputDocument inputDoc = new SolrInputDocument();
>>     for(final Entry<String, NutchField> e : doc) {
>>       for (final Object val : e.getValue().getValues()) {
>>         inputDoc.addField(solrMapping.mapKey(e.getKey()), val,
>> e.getValue().getWeight());
>>         String sCopy = solrMapping.mapCopyKey(e.getKey());
>>         if (sCopy != e.getKey()) {
>>              inputDoc.addField(sCopy, val, e.getValue().getWeight());
>>         }
>>       }
>>     }
>>     inputDoc.setDocumentBoost(doc.getWeight());
>>     inputDocs.add(inputDoc);
>>
>> //here is my modified code
>>
>>     SolrInputDocument abc;
>>     Iterator it=inputDocs.iterator();
>>     while(it.hasNext())
>>     {
>>      abc=(SolrInputDocument)it.next();
>>      String test=(abc.toString());
>>
>>         Connection conn = null;
>>         String url = "jdbc:mysql://localhost:3306/";
>>         String dbName = "data";
>>         String driver = "com.mysql.jdbc.Driver";
>>         String userName = "root";
>>         String password = "passwd";
>>         try {
>>             Class.forName(driver).newInstance();
>>             conn =
>> DriverManager.getConnection(url+dbName,userName,password);
>> System.out.println("Connected to the database");
>>
>>                       java.sql.Statement s = conn.createStatement();
>>                       int r = s.executeUpdate("INSERT INTO data(data)
>> VALUES('"+test+"')");
>>
>>             System.out.println("Done");
>>        conn.close();
>>             System.out.println("Disconnected from database");
>>
>>               }
>>               catch (Exception e) {
>>                       System.out.println(e);
>>                       System.exit(0);
>>                       }
>>
>>     }
>>
>>     if (inputDocs.size() > commitSize) {
>>       try {
>>         solr.add(inputDocs);
>>
>>       } catch (final SolrServerException e) {
>>         throw makeIOException(e);
>>       }
>>       inputDocs.clear();
>>     }
>>   }
>>
>>   public void close() throws IOException {
>>     try {
>>       if (!inputDocs.isEmpty()) {
>>         solr.add(inputDocs);
>>         inputDocs.clear();
>>       }
>>       // solr.commit();
>>     } catch (final SolrServerException e) {
>>       throw makeIOException(e);
>>     }
>>   }
>>
>>   public static IOException makeIOException(SolrServerException e) {
>>     final IOException ioe = new IOException();
>>     ioe.initCause(e);
>>     return ioe;
>>   }
>>
>> }
>>
>> -Thanks you very much
>>
>> On 1/13/11, Markus Jelsma <[email protected]> wrote:
>> > public void write gets called for each NutchDocument and collects them
>> > in
>> > inputDocs. You could, after line 60, call a customer method to read all
>> > fields
>> > and create a SQL insert statement out of it.
>> >
>> > On Thursday 13 January 2011 13:55:14 PEEYUSH CHANDEL wrote:
>> >> hi markus,
>> >>
>> >> i try to modify the SolrWriter.java class and place my mysql connecter
>> >> their but nothing
>> >>
>> >> happens  so can please explain a little more with example of code that
>> >> exactly which
>> >>
>> >> part of SolrWriter class is going to be replace by mysql connecter.
>> >>
>> >> -Thanks You Very Much
>> >>
>> >> On 1/13/11, Markus Jelsma <[email protected]> wrote:
>> >> > Here's the class you need to look at:
>> >> > http://svn.apache.org/viewvc/nutch/branches/branch-1.2/src/java/org/ap
>> >> > ach e/nutch/indexer/solr/SolrWriter.java?view=markup
>> >> >
>> >> >> Modifying the Solr index writer to use a MySQL connector is surely
>> >> >> the easiest short cut.
>> >> >>
>> >> >> > hi O.Klein
>> >> >> >
>> >> >> > thanks for the answer but i am using nutch 1.2 so any solution for
>> >> >> > this version.
>> >> >> >
>> >> >> > On 1/13/11, O. Klein <[email protected]> wrote:
>> >> >> > > Nutch 2.0 supports storage of data in MySQL DB.
>> >> >> > >
>> >> >> > > But that version is not for production yet.
>> >> >> > >
>> >> >> > > Check
>> >> >> > > http://techvineyard.blogspot.com/2010/12/build-nutch-20.html on
>> >> >> > > how to get it running.
>> >> >> > > --
>> >> >> > > View this message in context:
>> >> >> > > http://lucene.472066.n3.nabble.com/Connecting-MySQL-to-Apache-Nut
>> >> >> > > ch- tp2 24 3983p2244263.html Sent from the Nutch - User mailing
>> >> >> > > list archive at
>> >> >> > > Nabble.com.
>> >
>> > --
>> > Markus Jelsma - CTO - Openindex
>> > http://www.linkedin.com/in/markus17
>> > 050-8536620 / 06-50258350
>
> --
> Markus Jelsma - CTO - Openindex
> http://www.linkedin.com/in/markus17
> 050-8536620 / 06-50258350
>

Reply via email to