2015-04-09 1 views
0

В sitecore 6.6 Lucene, как сопоставить HitScores.Scores с SearchResultCollection и добавить его в SearchResultCollection и получить доступ к SearchResultCollection позже с его оценками.В sitecore 6.6 Lucene как соответствовать HitScores.Scores против 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); 
} 

ответ

0

Это, как я это делаю:

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); 
} 

Я надеюсь, что это помогает!

Смежные вопросы