code: func (d *Dataset) Select(name string, sortOption *SortOption) *Dataset {
  	ret, step := add1ShardTo1Step(d)
  	indexes := sortOption.Indexes()
  	step.SetInstruction(name, instruction.NewSelect([]int{indexes[0]}, indexes[1:]))
  	step.Description = fmt.Sprintf("select %v", sortOption.Indexes())
  	return ret
  }
docs: // Select selects multiple fields into the next dataset. The index starts from 1.
  // The first one is the key