2011-10-13 119 views
0

我一直試圖讓全光照TermFreqVvector文檔方面的頻率, 這裏是我的代碼,麻煩TermFreqVector在lucene.net

LuceneStore.Directory DIR = LuceneStore.FSDirectory.GetDirectory(「E :/ indexDir「,true);

IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(), true); 
    Document doc = new Document(); 
    doc.Add(new Field("Content", "This is a beautiful house", Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.YES)); 
    writer.AddDocument(doc); 
    writer.Optimize(); 
    writer.Close(); 

    IndexReader reader = IndexReader.Open(dir); 
    TermFreqVector termFreq = reader.GetTermFreqVector(0, "content"); 
    string[] term = termFreq.GetTerms(); 

,但我得到的錯誤消息「對象引用不設置爲一個對象的一個​​實例」 就行 串[]術語= termFreq.GetTerms();

任何人都可以幫忙!!!!!

回答

1

GetTermFreqVector方法被記錄爲返回null,如果storeTermVector標誌還沒有設置 - 你確定它在你的情況下設置?

編輯:我剛剛注意到,您在構造函數中使用「Content」作爲字段名稱,然後在請求術語頻率向量時使用「content」。如果字段名稱區分大小寫,這可能很容易成爲問題。爲了保持一致性,我建議你創建一個常量字符串,用於任何想要引用該字段的地方。

+0

沒有.. 可以請你告訴我怎麼做... – user111

+0

@kaaggi:看我的編輯 - 我懷疑它實際上只是一個套管問題。 –

+0

非常感謝你.... dat是一個愚蠢的錯誤... thanx很多..這是一個偉大的幫助:) – user111