this seems like a strange API to me. This API is supposed to be schema-agnostic, so you have to bend over backwards to inject the index name parameters into the builder.

wouldn't it make more sense for a higher-level API that knows about schemas to be responsible for setting the index name?