Wie erhält man Suchergebnisse, die in Nest 1.x einem Objekt zugeordnet sind?

Ich erstelle eine Abfrage im Nest

var searchResult = ( (ElasticClient)_Db ).Search<PackageRecord, PackageRecordSearchHit> ( s => s
    .Index ( Db_deals_IndexName )
    .Type ( Db_Package_TypeName )
    .From ( request.Page * _DefaultPageSize )
    .Size ( _DefaultPageSize )

    .Query ( q => q
        .QueryString ( qs =>qs
            .OnFields (  f =>f.TenantId )
            .Query ( user.Tenant.Id.ToString () ) )
    &&
     q.Nested ( n => n
        .Path ( f => f.List_BorrowerSet[ 0 ] )
        .Query ( qm => qm.QueryString ( qs => qs
            .OnFields (
     f => f.List_BorrowerSet.First ().PrimaryBorrower.ContactDetails.Name_First,
     f => f.List_BorrowerSet.First ().PrimaryBorrower.ContactDetails.Name_Last
     )
            .Query ( request.SearchValue ) )
               && qm
            .Term (
            f => f.List_BorrowerSet.First ().IsPrimary, true )
            ) )
            ||
            q.QueryString ( qs =>
                qs.OnFields ( f =>
                    f.Collateral.SubjectProperty.Address.AddressLineText )
                    .Query ( request.SearchValue ) )
            ||
            q.QueryString ( qs =>
                qs.OnFields ( f =>
                    f.DisplayName )
                    .Query ( request.SearchValue ) )

    )

    .Fields (
        f => f.Id,
        f => f.DisplayName,
        f => f.List_BorrowerSet[ 0 ].IsPrimary,
        f => f.List_BorrowerSet[ 0 ].PrimaryBorrower.ContactDetails.Name_First,
        f => f.List_BorrowerSet[ 0 ].PrimaryBorrower.ContactDetails.Name_Last,
        f => f.Collateral.SubjectProperty.Address.AddressLineText
    )

    .SortAscending ( f => f.List_BorrowerSet.First ().PrimaryBorrower.ContactDetails.Name_Last )
    .SortAscending ( f => f.List_BorrowerSet.First ().PrimaryBorrower.ContactDetails.Name_First )

    );

Dies ergibt 6 Treffer, aber keine Dokumente. Ich habe mir die Trefferergebnisse angesehen, kann aber nicht herausfinden, wie ich mit einem fehlenden / null-Feld umgehen soll, wenn ich es verwende

foreach ( var hit in searchResult.Hit)
{
    response.Hits.Add ( new PackageSearchResultItem ()
    {
    //    Id = hit.Fields.FieldValues<List<Guid>> ( "id" ).FirstOrDefault(),
    //    DisplayName = hit.Fields.FieldValues<string[]> ( "displayName" ).FirstOrDefault(),
    //    BorrowerFirstName = hit.Fields.FieldValues<string[]> ( "list_BorrowerSet.primaryBorrower.contactDetails.name_First" ).FirstOrDefault (),  
    //    BorrowerLastName = hit.Fields.FieldValues<string[]> ( "list_BorrowerSet.primaryBorrower.contactDetails.name_Last" ).FirstOrDefault (),
    //    PropertyAddress = hit.Fields.FieldValues<string[]> ( "collateral.subjectProperty.address.AddressLineText" ).FirstOrDefault ()
    } );
}

Wie kann ich meine Suchergebnisse richtig zuordnen?PackageRecordSearchHit Objekte?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage