class_docstr: Instead of marching the sub-matchers along in parallel, this matcher
  pre-reads the scores for a large block of documents at a time from each
  matcher, accumulating the scores in an array.
  
  This is faster than the implementation using a binary tree of
  :class:`~whoosh.matching.binary.UnionMatcher` objects (possibly just
  because of less overhead), but it doesn't allow getting information about
  the "current" document other than the score, because there isn't really a
  current document, just an array of scores.
code: def __init__(
      self, submatchers, doccount, boost=1.0, scored=True, partsize=2048
  ):
      CombinationMatcher.__init__(self, submatchers, boost=boost)
      self._scored = scored
      self._doccount = doccount
  
      if not partsize:
          partsize = doccount
      self._partsize = partsize
  
      self._a = array("d", (0 for _ in xrange(self._partsize)))
      self._docnum = self._min_id()
      self._read_part()
  
imports: from __future__ import division
  from array import array
  from whoosh.compat import xrange
  from whoosh.matching import mcore
label_desc: Use image node_id 1 to create a new ArrayUnionMatcher object from inherited base classes: CombinationMatcher with example: obj = ArrayUnionMatcher(submatchers, doccount, boost, scored, partsize)