2
我正在嘗試增強某些文檔。但他們沒有得到提振。請告訴我我錯過了什麼。謝謝!索引時使用Lucene我增強某些文檔,但他們的搜索得分仍然爲1
在我的索引代碼,我有:
if (myCondition)
{
myDocument.SetBoost(1.1f);
}
myIndexWriter.AddDocument(document);
然後在我的搜索代碼,我檢索從ScoreDocs文件的集合對象到我的文檔採集和:
foreach (Lucene.Net.Documents.Document doc in myDocuments)
{
float tempboost = doc.GetBoost();
}
和我把一個斷點在foreach子句中打破tempboost不是1的情況,並且斷點永遠不會被打中。
我錯過了什麼?
非常感謝!
謝謝!索引時,我會增加某些文檔,但不會出現在檢索到的文檔列表的頂部。我查看了這些文檔的分數,並且不知何故,第一個檢索到的文檔的分數總是0,其餘分數的分數是NaN。然後,我看着提示,試圖弄清楚發生了什麼。 – Barka
顯然我不明白索引時文檔的提升與檢索時的分數之間的關係。我認爲這些是相關的,而且我認爲我可以在我的分數中得到廣泛的分數,而不僅僅是0和NaN。如果你能對此有所瞭解,我將不勝感激。 – Barka
我從來沒有經歷過Lucene的NaN分數,我還沒有在Lucene工作過一段時間。關於評分的細微差別,我推薦這個[有點冗長的文檔](http://lucene.apache.org/java/3_0_0/api/core/org/apache/lucene/search/Similarity.html),但值得一讀了解幕後發生的事情。您也可以嘗試下載Lucene源代碼,將其鏈接到您的項目而不是編譯包,然後在調試模式下運行您的代碼,但觀看運行非常複雜,因爲Lucene的代碼分爲許多合作類。 –