public static ElasticDocumentVersion GetElasticVersion <T>(this Nest.IHit <T> hit) where T : class { if (!hit.PrimaryTerm.HasValue || !hit.SequenceNumber.HasValue) { return(ElasticDocumentVersion.Empty); } return(new ElasticDocumentVersion(hit.PrimaryTerm.Value, hit.SequenceNumber.Value)); }
public static FindHit <T> ToFindHit <T>(this Nest.IHit <T> hit) where T : class { var versionedDoc = hit.Source as IVersioned; if (versionedDoc != null && hit.Version.HasValue) { versionedDoc.Version = hit.Version.Value; } var data = new DataDictionary { { ElasticDataKeys.Index, hit.Index }, { ElasticDataKeys.IndexType, hit.Type } }; return(new FindHit <T>(hit.Id, hit.Source, hit.Score.GetValueOrDefault(), versionedDoc?.Version ?? null, hit.Routing, data)); }