Features inference

edit

Some URIs in Elasticsearch take a Feature enum. Within NEST, route values on the URI are represented as classes that implement an interface, IUrlParameter. Since enums cannot implement interfaces in C#, a route parameter that would be of type Feature is represented using the Features class that the Feature enum implicitly converts to.

Constructor

edit

Using the Features constructor directly is possible but rather involved

Features fieldString = Feature.Mappings | Feature.Aliases;
Expect("_mappings,_aliases")
    .WhenSerializing(fieldString);