     case exhaustiveNbHits = "exhaustive_nb_hits"
     case exhaustiveFaceting = "exhaustive_faceting"
     case queryParams = "query_params"
+    case innerQueries = "inner_queries"
   }
 
   public init(from decoder: Decoder) throws {

    exhaustiveNbHits = try container.decodeIfPresent(forKey: .exhaustiveNbHits)
    exhaustiveFaceting = try container.decodeIfPresent(forKey: .exhaustiveFaceting)
    queryParams = try container.decodeIfPresent(forKey: .queryParams)

  }

  public func encode(to encoder: Encoder) throws {

    try container.encodeIfPresent(exhaustiveNbHits, forKey: .exhaustiveNbHits)
    try container.encodeIfPresent(exhaustiveFaceting, forKey: .exhaustiveFaceting)
    try container.encodeIfPresent(queryParams, forKey: .queryParams)
    try container.encodeIfPresent(innerQueries, forKey: .innerQueries)
  }

}

extension Log {
  
  public struct InnerQuery: Codable {
    
    public let indexName: IndexName?
    public let queryID: QueryID?
    public let offset: Int?
    public let userToken: UserToken?
    
    enum CodingKeys: String, CodingKey {
      case indexName = "index_name"
      case queryID = "query_id"
      case offset
      case userToken = "user_token"
    }
    
  }
  
}
