2014-03-03 32 views
2

你好我正在使用java,我正在使用lucene进行索引。 我在那里存储数据,但如何检查哪些lucene数据包含?如何检查lucene文件夹中的数据包含哪些内容?

我试着用它来检查lucene上的数据。 公共静态无效的主要(字串[] args)抛出异常{

File indexDir = new File("/path/to/solr/data/index/"); 
    int hits = 100; 

    SimpleSearcher searcher = new SimpleSearcher(); 
    searcher.searchIndex(indexDir, args[0], hits); 
} 

private void searchIndex(File indexDir, String queryStr, int maxHits) 
     throws Exception { 

    Directory directory = FSDirectory.open(indexDir); 

    IndexSearcher searcher = new IndexSearcher(directory); 
    QueryParser parser = new QueryParser(Version.LUCENE_35, 
    "title", new SimpleAnalyzer()); 
    Query query = parser.parse(queryStr); 

    TopDocs topDocs = searcher.search(query, maxHits); 

    ScoreDoc[] hits = topDocs.scoreDocs; 
    for (int i = 0; i < hits.length; i++) { 
     int docId = hits[i].doc; 
     Document d = searcher.doc(docId); 
     List<Fieldable> fields = d.getFields(); 

     System.out.println((i+1) + ". =========================================================="); 
     for (Fieldable field : fields) { 
      if (field.isStored()) { 
      System.out.println(" >> " + field.name() + " - " + d.get(field.name())); 
      } 
     } 
    } 

    System.out.println("Found " + hits.length); 
} 

有可供下载的任何工具??

回答

相关问题