>

Solr 색인 파일을 읽으려고합니다. 이 파일은 버전 6.4의 Solr 다운로드 페이지 예제에서 작성되었습니다.
이 코드를 사용하고 있습니다 :

   import java.io.File;
    import java.io.IOException;
    import org.apache.lucene.document.Document;
    import org.apache.lucene.index.IndexReader;
    import org.apache.lucene.store.Directory;
    import org.apache.lucene.store.FSDirectory;
    public class TestIndex {
        public static void main(String[] args) throws IOException {

            Directory dirIndex = FSDirectory.open(new File("D:\\data\\data\\index"));
            IndexReader indexReader = IndexReader.open(dirIndex);
            Document doc = null;   
            for(int i = 0; i < indexReader.numDocs(); i++) {
                doc = indexReader.document(i);
            }
            System.out.println(doc.toString());
            indexReader.close();
            dirIndex.close();
        }
    } 

Solr jar : solr-solrj-6.5.1.jar
루센 : lucene-core-r1211247.jar

예외 :

Exception in thread "main" 
org.apache.lucene.index.IndexFormatTooOldException: Format version is not 
supported (resource: 
ChecksumIndexInput(MMapIndexInput(path="D:\data\data\index\segments_2"))): 
1071082519 (needs to be between -9 and -12). This version of Lucene only 
supports indexes created with release 3.0 and later.

lucene 6.5.1로 업데이트 된 코드

Path path = FileSystems.getDefault().getPath("D:\\data\\data\\index");
Directory dirIndex = FSDirectory.open(path);
DirectoryReader  dr  = DirectoryReader.open(dirIndex);
Document doc = null;   
    for(int i = 0; i < dr.numDocs(); i++) {
        doc = dr.document(i);
    }
    System.out.println(doc.toString());
    dr.close();
    dirIndex.close(); 

예외 :

java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 52.0.

이 코드를 실행하도록 도와 주시겠습니까?

감사합니다.
비 렌드 라 아가 왈


  • 답변 # 1

    Luke를 사용하는 것이 좋습니다.

    https://github.com/DmitryKey/luke

    와이즈 비즈 luc

    그것은 lucene-jar가 2012 년부터 시작된 것 같습니다. lucene-core-6.5.1을 사용하여 Solr 6.5.1에서 생성 된 색인 파일을 읽으십시오.

    오류로 임의로 이름이 지정된 파일을 선택하는 경우 빌드 파일에서 종속성을 고정 할 수 있습니다.

    Luke is the GUI tool for introspecting your Lucene / Solr / Elasticsearch index. It allows:

      Viewing your documents and analyzing their field contents (for stored fields) Searching in the index

      Performing index maintenance: index health checking, index optimization (take a - backup before running this!)

      Reading index from hdfs

      Exporting the index or portion of it into an xml format

      Testing your custom Lucene analyzers

      Creating your own plugins!

  • 이전 docxreport에서 프리 마커 매크로 사용
  • 다음 php - Laravel 53 검증 고유