0

ドキュメントのコレクション(たとえば10個のドキュメント)があり、用語ベクトルを保存することにより、この方法でそれらにインデックスを付けています

StringReader strRdElt = new StringReader(content);


    Document doc = new Document();
    String docname=docNames[docNo];
    doc.add(new Field("doccontent", strRdElt, Field.TermVector.YES));

    IndexWriter iW;
    try {
        NIOFSDirectory dir = new NIOFSDirectory(new File(pathToIndex)) ;

        iW = new IndexWriter(dir, new IndexWriterConfig(Version.LUCENE_35,
                new StandardAnalyzer(Version.LUCENE_35)));
        iW.addDocument(doc);
        iW.close();

    }

すべてのドキュメントにインデックスを付けた後、この方法で各ドキュメントの用語頻度を取得しています

IndexReader re = IndexReader.open(FSDirectory.open(new File(pathToIndex)), true) ;
TermFreqVector termsFreq[]; //size of number of documents

for(int i=0;i<noOfDocs;i++){
        termsFreq[i] = re.getTermFreqVector(i, "doccontent");
      }

私の問題は、対応するtermfreqncyベクトルを取得していないことです。インデックスを作成した 2 番目のドキュメントについて、対応する termfrequncies と "termsFreq[9]" の用語を取得しているとします。

その理由は何ですか?、ドキュメントを索引付けした順序で対応する用語頻度を取得するにはどうすればよいですか?

4

0 に答える 0