在sitecore 6.6 Lucene中,如何将HitScores.Scores与SearchResultCollection进行匹配

在sitecore 6.6 Lucene中,如何将HitScores.Scores与SearchResultCollection进行匹配,sitecore,lucene.net,Sitecore,Lucene.net,在sitecore 6.6 Lucene中,如何将HitScores.Scores与SearchResultCollection进行匹配,并将其添加到SearchResultCollection中,然后使用其分数访问SearchResultCollection public static SearchResultCollection Search(string searchString, IndexSearchContext context){ Hits hitScores = context

在sitecore 6.6 Lucene中,如何将HitScores.Scores与SearchResultCollection进行匹配,并将其添加到SearchResultCollection中,然后使用其分数访问SearchResultCollection

public static SearchResultCollection Search(string searchString, IndexSearchContext context){

Hits hitScores = context.Searcher.Search(completeQuery, new Sort(new SortField[1] { SortField.FIELD_SCORE }));

 SearchHits hits = new SearchHits(hitScores);
SearchResultCollection results = hits.FetchResults(0, Int32.MaxValue);
}
我就是这样做的:

var collector = Lucene.Net.Search.TopScoreDocCollector.create(NumberOfHits, true);
context.Searcher.Search(query, collector);
totalResults = collector.GetTotalHits();
if (totalResults <= 0)
{
    return null;
}
var resultCollection = collector.TopDocs(firstDocument, lastDocument);
IList<Document> docs = new List<Document>(totalResults);
foreach (var tdoc in resultCollection.ScoreDocs)
{
    //tdoc.doc
    //tdoc.score
    Document d = context.Searcher.Doc(tdoc.doc); //Here you have 2 objects
   // tdoc contains the score and d the full document.
    docs.Add(d);
}
var collector=Lucene.Net.Search.TopScoreDocCollector.create(NumberOfHits,true);
context.Searcher.Search(查询、收集器);
totalResults=collector.GetTotalHits();
如果(总结果)