code: func (c *cluster) fragCombos(idx string, availableShards *roaring.Bitmap, fieldViews viewsByField) fragsByHost {
  	t := make(fragsByHost)
  	availableShards.ForEach(func(i uint64) {
  		nodes := c.shardNodes(idx, i)
  		for _, n := range nodes {
  			// for each field/view combination:
  			for field, views := range fieldViews {
  				for _, view := range views {
  					t[n.ID] = append(t[n.ID], frag{field, view, i})
  				}
  			}
  		}
  	})
  	return t
  }
docs: // fragCombos returns a map (by uri) of lists of fragments for a given index
  // by creating every combination of field/view specified in `fieldViews` up
  // for the given set of shards with data.