package eu.fbk.knowledgestore.datastore.utils; import eu.fbk.knowledgestore.data.Record; import eu.fbk.knowledgestore.datastore.LuceneDataStore; import org.apache.lucene.document.Document; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.Term; import org.apache.lucene.index.TermDocs; import org.apache.lucene.store.FSDirectory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; /** * Created by alessio on 07/11/14. */ public class LuceneIndexReader { static Logger logger = LoggerFactory.getLogger(LuceneIndexReader.class); public static void main(String[] args) { String indexPath = args[0]; String url = args[1]; try { IndexReader reader = IndexReader.open(FSDirectory.open(new File(indexPath)), false); Term s = new Term(LuceneDataStore.LuceneTransaction.KEY_NAME, url); TermDocs termDocs = reader.termDocs(s); if (termDocs.next()) { Document document = reader.document(termDocs.doc()); // Record r = LuceneDataStore.unserializeRecord(document.getBinaryValue(LuceneDataStore.LuceneTransaction.VALUE_NAME)); // System.out.println(r.toString(null, true)); } else { logger.info("URI {} not found", url); } reader.close(); } catch (Exception e) { logger.error(e.getMessage()); } } }