ENG-4538 Elastic index building

ENG-4538 was inadvertently implemented on branch ENG-4536, because it was a continuation of that work. All or most of the commits use the branch name ENG-4536, rather than the correct ticket number.