在sitecore 6.6 Lucene中,如何将HitScores.Scores与SearchResultCollection进行匹配
在sitecore 6.6 Lucene中,如何将HitScores.Scores与SearchResultCollection进行匹配,并将其添加到SearchResultCollection中,然后使用其分数访问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
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();
如果(总结果)