code: func (fs *FileSet) TagValueSeriesIDIterator(name, key, value []byte) (tsdb.SeriesIDIterator, error) {
  	ss := tsdb.NewSeriesIDSet()
  
  	var ftss *tsdb.SeriesIDSet
  	for i := len(fs.files) - 1; i >= 0; i-- {
  		f := fs.files[i]
  
  		// Remove tombstones set in previous file.
  		if ftss != nil && ftss.Cardinality() > 0 {
  			ss = ss.AndNot(ftss)
  		}
  
  		// Fetch tag value series set for this file and merge into overall set.
  		fss, err := f.TagValueSeriesIDSet(name, key, value)
  		if err != nil {
  			return nil, err
  		} else if fss != nil {
  			ss.Merge(fss)
  		}
  
  		// Fetch tombstone set to be processed on next file.
  		if ftss, err = f.TombstoneSeriesIDSet(); err != nil {
  			return nil, err
  		}
  	}
  	return tsdb.NewSeriesIDSetIterator(ss), nil
  }
docs: // TagValueSeriesIDIterator returns a series iterator for a single tag value.