49 lines
1.0 KiB
C#
49 lines
1.0 KiB
C#
using Nest;
|
|
using SJZY.Expand.ElasticSearch;
|
|
using SJZY.Track.Domain.SeedWork;
|
|
|
|
namespace SJZY.Track.Repository;
|
|
|
|
/// <summary>
|
|
/// es extensions
|
|
/// </summary>
|
|
public static class EsExtensions
|
|
{
|
|
/// <summary>
|
|
/// return list with id
|
|
/// </summary>
|
|
/// <param name="response"></param>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <returns></returns>
|
|
public static List<T> ToIdList<T>(this ISearchResponse<T> response) where T : IdBaseIndex
|
|
{
|
|
var dtos = new List<T>();
|
|
|
|
foreach (var hit in response.Hits)
|
|
{
|
|
var dto = hit.Source;
|
|
dto.Id = hit.Id;
|
|
|
|
dtos.Add(dto);
|
|
}
|
|
|
|
return dtos;
|
|
}
|
|
|
|
public static List<T> ToIdAndVersionList<T>(this ISearchResponse<T> response) where T : IdVersionIndex
|
|
{
|
|
var dtos = new List<T>();
|
|
|
|
foreach (var hit in response.Hits)
|
|
{
|
|
var dto = hit.Source;
|
|
dto.Id = hit.Id;
|
|
dto.Version = hit.Version;
|
|
|
|
dtos.Add(dto);
|
|
}
|
|
|
|
return dtos;
|
|
}
|
|
}
|