public ISearchRequest GetSearchDescriptorForFilter(Func <SearchDescriptor <ElasticsearchProject>, SearchDescriptor <ElasticsearchProject> > create) { var descriptor = create(new SearchDescriptor <ElasticsearchProject>()); var json = this._client.Serializer.Serialize(descriptor); Console.WriteLine(json.Utf8String()); using (var ms = new MemoryStream(json)) { ISearchRequest d = this._client.Serializer.Deserialize <SearchDescriptor <ElasticsearchProject> >(ms); d.Should().NotBeNull(); d.Filter.Should().NotBeNull(); return(d); } }