Die offiziellen Nest-Entwickler beantworteten diese Frage in ihrem Github, linked here.
Grundsätzlich verwenden Sie nicht Func<PutMappingDescriptor<Project>, IPutMappingRequest>
, sondern PutMappingDescriptor<Project>
direkt. indem Sie eine PutMappingDescriptor<Project>
neu erstellen und von dort aus Ihr flüssiges Mapping aufbauen.
Das Erstellen des Index erwartet ITypeMapping
, während der Aktualisierungsindex IPutMappingRequest
erwartet, der ITypeMapping
implementiert. So können Sie beide mit PutMappingDescriptor
erfüllen.
einen Index, Gebrauch zu erstellen:
`` ` client.CreateIndex ("Projekte", c => c .Mappings (ms => ms .MAP (m => Getmapping()) ) );
`` ` wo ignorieren Sie m
im Lambda übergeben und verwenden Sie die, die Sie erstellt haben. Der Grund, warum Sie das tun können, kann source code in NEST zu finden, wo es eine leere TypeMappingDescriptor für Sie schafft weiter zu bauen:
public MappingsDescriptor Map<T>(Func<TypeMappingDescriptor<T>, ITypeMapping> selector) where T : class => Assign(typeof (T), selector?.Invoke(new TypeMappingDescriptor<T>()));
Mapping zu aktualisieren, zu tun:
client.Map(GetMapping());
I Ich bin auch an der gleichen Frage interessiert. – foresightyj