code: func (i *Index) AvailableShards() *roaring.Bitmap {
  	if i == nil {
  		return roaring.NewBitmap()
  	}
  
  	i.mu.RLock()
  	defer i.mu.RUnlock()
  
  	b := roaring.NewBitmap()
  	for _, f := range i.fields {
  		b = b.Union(f.AvailableShards())
  	}
  
  	i.Stats.Gauge("maxShard", float64(b.Max()), 1.0)
  	return b
  }
docs: // AvailableShards returns a bitmap of all shards with data in the index.