2014-03-03 1 views
2

안녕하세요, 저는 Java에서 작업 중이며 색인 생성 목적으로 lucene을 사용하고 있습니다. 거기에 데이터를 저장하고 있지만 lucene 데이터에 무엇이 들어 있는지 확인하는 방법은 무엇입니까?lucene 폴더 데이터에 포함 된 내용을 확인하는 방법은 무엇입니까?

나는 이것으로 lucene에 대한 데이터를 확인하려고 노력했다. 공공 정적 무효 메인 (문자열 []에 인수)을 다운로드 할 수있는 도구가 예외 {

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); 
} 

를 발생 ??

답변

1

Luke은 위의 코드와 동일하게 적용됩니다.

Lucene 버전이 4.0 이상인 경우 Luke를 다른 곳에서 다운로드해야합니다. 관련 포크 바이너리를 얻을 수있는 가능한 장소 중 하나는 여기에 있습니다 : https://github.com/DmitryKey/luke/releases/tag/4.6.0

+0

감사합니다. 내게 감사합니다 ... – user2473940

관련 문제