package net.ion.craken.node.problem.store; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import net.ion.nsearcher.common.WriteDocument; import net.ion.nsearcher.index.IndexJob; import net.ion.nsearcher.index.IndexSession; import net.ion.radon.util.csv.CsvReader; public class SampleIndexWriteJob implements IndexJob<Void> { private int max; public SampleIndexWriteJob(int max) { this.max = max; } @Override public Void handle(IndexSession isession) throws Exception { File file = new File("C:/temp/freebase-datadump-tsv/data/medicine/drug_label_section.tsv"); CsvReader reader = new CsvReader(new BufferedReader(new FileReader(file))); reader.setFieldDelimiter('\t'); String[] headers = reader.readLine(); String[] line = reader.readLine(); while (line != null && line.length > 0 && max-- > 0) { // if (headers.length != line.length ) continue ; WriteDocument wdoc = isession.newDocument("/try2/" + max); for (int ii = 0, last = headers.length; ii < last; ii++) { if (line.length > ii) wdoc.keyword(headers[ii], line[ii]); } isession.updateDocument(wdoc); line = reader.readLine(); if ((max % 1000) == 0) System.out.print('.'); } return null; } }