0
我只是想知道Lucene如何做到這一點,從源代碼我知道它打開並加載段索引時使用IndexReader的搜索器,但有沒有人告訴我如何計算術語頻率在一個具有專業領域的文件。 有沒有什麼特別的算法?閱讀explan代碼時就TF,就像我無法弄清楚:如何計算文檔字段中特殊術語的頻率?
Explanation tfExplanation = new Explanation();
int d = scorer.advance(doc);
float phraseFreq = (d == doc) ? scorer.currentFreq() : 0.0f;
tfExplanation.setValue(similarity.tf(phraseFreq));
tfExplanation.setDescription("tf(phraseFreq=" + phraseFreq + ")");
以色列國防軍> 0,但爲什麼在代碼phraseFreq是0.0,我知道那是因爲(d == DOC)是假,因爲d = Integer.MAX_VALUE,我不知道爲什麼,什麼是問題。
ps:我只有一個文件帶有一個字段,它被索引和存儲,並且在調試代碼中使用的doc是1,就像searcher.explan(booleanQuery,1);
真心希望有人能給我一些建議! 此致敬禮!
你可以投票自己作爲正確的答案,並拿起一些點。祝你好運! – shellter 2011-04-22 17:51:42
感謝您的建議,shellter – 2011-09-19 02:41:00