Files
Umbraco-CMS/src/Umbraco.Web/ExamineExtensions.cs

31 lines
932 B
C#
Raw Normal View History

2017-07-20 11:21:28 +02:00
using System.Collections.Generic;
using System.Linq;
using Examine;
2017-07-21 17:04:14 +02:00
using Umbraco.Core;
2013-09-05 17:47:13 +02:00
using Umbraco.Core.Models.PublishedContent;
2013-02-05 06:31:13 -01:00
using Umbraco.Web.PublishedCache;
namespace Umbraco.Web
{
2017-07-20 11:21:28 +02:00
/// <summary>
/// Extension methods for Examine
/// </summary>
public static class ExamineExtensions
{
2017-07-21 17:04:14 +02:00
public static IEnumerable<PublishedSearchResult> ToPublishedSearchResults(this IEnumerable<SearchResult> results, IPublishedCache cache)
2017-07-20 11:21:28 +02:00
{
2017-07-21 17:04:14 +02:00
var list = new List<PublishedSearchResult>();
2017-07-20 11:21:28 +02:00
foreach (var result in results.OrderByDescending(x => x.Score))
{
var content = cache.GetById(result.Id);
if (content == null) continue; // skip if this doesn't exist in the cache
2013-09-05 17:47:13 +02:00
2017-07-21 17:04:14 +02:00
list.Add(new PublishedSearchResult(content, result.Score));
2017-07-20 11:21:28 +02:00
}
2013-09-05 17:47:13 +02:00
return list;
2017-07-20 11:21:28 +02:00
}
}
}